JENNIFER
アシスト技術者が見た Webシステムの運用/開発現場の実態
多くの企業が基幹システムなど業務遂行に必要不可欠なシステムをC/SからWebへと移行しています。Webシステムは、Webサーバ/アプリケーションサーバ/データベースサーバの3層構成が多く、問題が起きたときの切り分けが非常に煩雑です。そのため、なかなか問題を解決できず業務遂行に重大な影響を及ぼすことがあります。特にECサイトなどはアプリケーション遅延によって多大な機会損失を招く可能性もあります。本稿では、JENNIFERの技術担当者がお客様先で伺ったアプリケーション運用/開発における課題と解決策を5回に渡ってご紹介します。
アシスト技術者:塩澤 正寛
2005年、株式会社アシスト入社。
運用監視ツール担当歴4年、現在ではアプリケーション性能監視ツールJENNIFERのご紹介、サポート、技術支援を担当。週のほとんどはお客様先へ訪問し、課題解決から製品設計まで、幅広くこなしている。
週末は子どもを連れてキャンプに行くなど、子煩悩な一面を見せる。
ケーススタディ Vol.1
特定だけで丸一日、地道なログのチェックでやっと分かるレスポンス遅延の原因
■基本情報 |
|
問題点は、膨大なログを毎回1つ1つチェックしなければ原因が特定できないこと
ハードウェアの増強ではレスポンス遅延が解決せず、ハードウェアリソース以外の原因特定を開始するも、OSやアプリケーション、データベースごとに出力される膨大なログをチェックし、エラーログをみつけ、地道に原因を切り分けるのに非常に時間がかかるとのことでした。 |
|
<解決方法>たったの4ステップで遅延の原因は特定できる
アプリケーション遅延の原因を容易に特定するには、内部の情報を可視化するアプリケーション性能管理(APM)が有効です。APMツールJENNIFERを検証環境に導入し、Webシステムに関するログを1つの画面で確認していただいたところ、レスポンス遅延の原因となりそうなトランザクションとSQLをわずか4ステップ、2時間程度で特定することができました。
アシスト技術者が実際に行った、原因特定までの4ステップ
|
STEP1:トランザクションの滞留を発見
各アプリケーションサーバ内で現在処理中のトランザクションスピードをリアルタイムにモニタリングします。処理時間の長さに応じて、表示の色が紫→青→赤へと変化するため、ひと目で滞留しているトランザクションの有無が分かります。 |
|
STEP2:応答時間が100秒以上もかかっている疑わしいアプリケーションを発見
全てのトランザクションの応答時間を経過時間ごとにプロットしたグラフで、滞留しているトランザクションと、アプリケーションの詳細情報が確認できます。 |
|
STEP3:アプリケーション処理の詳細(内訳)から疑わしいSQLを発見
トランザクション名、クエリ情報(SQL、パラメータ情報)、応答時間の内訳を確認します。この画面で、あるSQLの応答時間が大幅に占めていることが判明しました。 |
|
STEP4:データベースサーバのCPU使用率の異常を発見
あわせて、アプリケーションサーバのリソース情報(メモリ/CPU使用率、ヒープメモリ使用量)を確認します。遅延が起きた際、アプリケーションサーバのリソースには問題ありませんでした。そこで、同じ時間帯のデータベースサーバのログを調査すると、CPU使用率が異常に高いことが分かりました。また、原因と思われるアプリケーションを単体で実行し、100%の事象再現を確認しました。 |
|
原因となるプログラムの問題特定までにかかった時間は、わずか2時間程度
|
|
<効果>アプリケーションの性能を可視化することで、原因調査の工数を5分の1に短縮
JENNIFERの導入により、レスポンス遅延発生時の原因調査にかかる工数は5分の1にまで削減され、原因特定までの時間を劇的に短縮することができました。これをきっかけに、お客様内でのアプリケーションの品質に対する意識が高まり、検証環境に限らず、本番環境へのJENNIFER導入が決定しました。また、運用フェーズだけでなく開発フェーズの受入テストでもJENNIFERを活用することで、「リリース前に一定の品質基準を満たさないアプリケーションは、改善してからリリースする」という体制が整えられ、更なる品質向上を実現しています。
|