リバティ大学

リバティ大学ではパフォーマンス問題の解決という講義を行っています。

リバティ大学は履修証明から博士号まで 450 以上のカリキュラムを提供する、米国最大の民間非営利の大学です。すべてのカリキュラムの提出期限が同じため、在籍する 11 万人もの学生の大半が、学期中、毎週日曜の夜に大学のネットワークにログオンし、深夜 12 時までに宿題を提出しようとします。 学習管理システム全体、バナー ERP システム、および提供する他のすべての機能を維持、あらゆる構成要素に対する迅速な対応に加えて、これはリバティ大学の DBA が、管理しなければならない挑戦を伴うシナリオの一つです。

課題

この規模の学習施設を運営するには、巨大、かつ広大で、複雑なネットワークと、すぐに使えるカスタマイズ済みの、0 から開発された膨大なアプリケーションが必要となります。Blackboard は、カスタムの「ビルディングブロック」およびリバティ大学全体のブランディングに合わせた学習管理システムの核であると言えます。

新しいソフトウェアリリースやシステムのアップグレードは、ソフトウェアに依存する他のビジネスと同様に、リバティ大学においても不安要素の明確な源となっています。リバティ大学では、二つの主要なアップグレードを行いました。一つはソフトウェア単体、そしてもう一つはソフトウェアとその環境です。結果として、それぞれのアップデートは重大なパフォーマンス問題をもたらし、その根本原因が最も想定外の箇所に存在したため、DBA および技術スタッフの頭痛の種となりました。最初に原因だと思われた箇所の調査に多くの時間がかかっていたのです。

約 2 年前に Blackboard サービスパックをインストールした際、最初のパフォーマンス問題が発生しました。そのアップグレードにより、Java 1.7 への同時アップグレードが必要となったのです。

「アップグレード後、常にアプ​​リサーバーのクラッシュが発生するようになりました」とリバティ大学のシステム管理者 Scott Howe 氏は語っています。「Blackboard のログを見ると、例外や単なる一般的な診断エラー処理が Tomcat ログに山ほど吐き出されていました。それらをすべて理解することはとてもできませんでした。できる限りの手を尽くしましたが、はっきり言って行き詰っていました。一日に複数回アプリケーションサーバーが再起動し、プール中のアプリケーションサーバー数が倍増するようなことが 2 週間続いた後も、我々は本当にその後の対処を見出せないままでした。」

AppDynamics の持つインタフェース、そしてその一つのインターフェースからドリルダウンして、リアルタイムのトラブルシューティングを行う能力...それを目にして我々は納得しました。他のものはなにも見る必要がないとさえ感じました。

チームでは、問題の的を絞るために必要な可視性を全く欠いていました。約一年後に、別の Blackboard サービスパックのインストールとともに環境を移行するとう大きなアップグレードを行った際、視認性の欠如による再びリバティ大学のチームは頭を抱えることになります。パフォーマンス問題が再び発生したのです。しかしこの時は、一刻も早く AppDynamics の提供するツールや可視性が必要であるということを認めていました。

ソリューション

興味深いことに、最初の状況が進行する中、Scott とその同僚のリバティ大学の DBA は Blackboard のワールドカンファレンスに出席しており、彼らの一人が、AppDynamics 製品のことを思い出しました。そして試用版をダウンロードし、それが役立つかどうかを確認してみることにしたのです。カンファレンスの最中でしたが、インストールにはそれほど時間はかからず、すぐにエラーを起こすトランザクション数の異常なスパイクが現れ、それらすべてが共通のクラスを持っていることが示されました。言語クラスに関する問題が存在していたようです。

「その情報を、カンファレンスで Blackboard のパフォーマンスを行った責任者のところへ持っていき、AppDynamics では『これが示されました』、と伝えに行きました」と Howe は話しています。「『ここにスレッドがあるようです。これまでにこの症状を見たことがありますか?』と。その後分析により、結局この問題はすべての 1.7 JDK に存在する既知のバグであったことがわかり、我々はまさにそれに直面していたのです。そして、Blackboard の協力で我々は Oracle に連絡を取り、Oracle ではその問題を開発部を介してエスカレートし、パッチを送ってくれたのです。問題は解決されました。」

「効果的に作業を行う上での洞察力が十分ではないため、効率のよい作業を行うには AppDynamics を購入する必要があるとその時点で経営陣に伝えました。」

残念ながら、経営陣が AppDynamics の導入に納得したのは、第二の重大なパフォーマンスインシデントが発生してからでした。しかし今回は、AppDynamics を早期に活用することで非常に迅速に解決することができました。

その問題は、次の Blackboard アップグレード後、データベースサーバーとアプリケーションサーバーの移行中に発生しましたが「新しいシステムは、まっ更な状態で構築されました」というのが Howe 氏による説明の内容です。

効果的に作業を行う上での洞察力が十分ではないため、効率のよい作業を行うには AppDynamics を購入する必要があるとその時点で経営陣に伝えました。

「前回と異なり今回は、AppDynamics が全く別のものを示しました。エラーは発生せず、大量のスループットが現れ、全般的に JVM が遅延していることが確認されるだけだったのです。しかし素晴らしいことに AppDynamics は、アプリケーションサーバーに対するリクエスト、アプリケーションサーバーのやりとり、そしてアプリケーションサーバーとデータベースとの対話といった、トランザクションの全体の流れを示してくれました。そして問題の原因となっていないアーキテクチャの多くを除外することができました。」

単一の NFS コールが常に 1 〜 8 秒かかっているために、極端なアプリケーションサーバー用のストレージが遅延していることが判明しました。11 万人もの学生の多くが、日曜日の夜に宿題を提出するためにアプリケーションにアクセスした場合、どのような状況が起きていたかを想像してみてください。

「それがボトルネックだったのです」と、Howe 氏は説明します。「AppDynamics は見事でした。なぜなら、我々はデータの流れを細部まで確認し、なにが問題ではなかったのかを正確に把握することができたからです。このツールがなければ、我々はデータベースの問題や何か他の関連性のないものを調査するために、非常に多くのサイクルと時間を費やしていた可能性もあります。」

メリット

AppDynamics がリバティ大学に及ぼした主なメリットは、言ってみれば、可視性です。チームは、ネットワークを介したトランザクションを追跡し、問題が Blackboard アプリケーションではなく、あるケースでは Java、また別のケースではハードウェア関連の可能性であることを突き止めました。

「AppDynamics の持つインタフェース、そしてその一つのインターフェースからドリルダウンして、リアルタイムのトラブルシューティングや問題の起きている最中に調査を行う能力を目にして、我々は納得しました」と、Howe 氏は言います。「他のものはなにも見る必要がないとさえ感じました。」

AppDynamics は見事でした。なぜなら、我々はデータの流れを細部まで確認し、なにが問題ではなかったのかを正確に把握することができたからです。

そして毎日、AppDynamics プラットフォームは、リバティ大学に本当のアプリケーションインテリジェンスを提供し続けています。

「過去 24 時間だけではなく、先週、そして二ヶ月前までの応答時間がどれほどだったかを確認できる長期的なトレンド数を把握できるのは素晴らしいことです」と Howe 氏は語ってます。「経営陣と話し合う必要のある技術者であれば、その認識のギャップを埋めるのが困難となる場合もありますが、主張を通すために示すことのできる実際の数字は大変貴重です。」

「非常に読みやすく、明確な形で提示できる情報がたっぷりありますよ。」