3.2 システムで発生する代表的なトラブル
アプリケーションサーバシステムの運用では,ログインできない,応答が返らない,通常1〜2秒で終了する処理が10秒以上掛かるなど,業務に支障をきたすような問題(トラブル)が発生することがあります。これらのトラブルを繰り返し発生させないようにするためには原因究明が必要となります。この原因究明の過程で,JavaVMが生成した資料の確認が必要となるケースがあります。ここでは,アプリケーションサーバで発生する代表的なトラブルを示し,そのトラブルに対して,JavaVMが生成した資料の確認が必要となるケースを説明します。なお,JavaVMが生成した資料とその確認方法の詳細については,「3.1 JavaVMでのトラブルシューティング」を参照してください。
アプリケーションサーバで発生する代表的なトラブルの定義を次の表に示します。
項番 |
トラブルの種類 |
定義 |
---|---|---|
1 |
(アプリケーションサーバの)プロセスのメモリが不足し,処理が継続できない現象。 |
|
2 |
アプリケーションサーバのプロセスが消滅してしまう現象。 |
|
3 |
アプリケーションサーバ上で管理されるトランザクションが開始されてから終了するまでの想定時間内に処理が終了しない現象。 |
|
4 |
アプリケーションサーバのプロセスは存在しているが,アプリケーションサーバの動作が停止しているように見える現象。 |
|
5 |
応答時間が通常より長くなっている現象。 |
|
6 |
Webサーバが,アプリケーションサーバにリクエストを送信してから,応答を受け取るまでの想定時間内に処理が終了しない現象。 |
アプリケーションサーバで発生する代表的な各トラブルについて,JavaVMが生成した資料の確認が必要となるケースを,次の表に示します。資料の確認方法は,「3.1.2 トラブル事象別の原因切り分け方法」で説明しています。
項番 |
トラブルの種類 |
調査の進め方 |
JavaVM生成資料の確認方法参照先 |
---|---|---|---|
1 |
OutOfMemory |
アプリケーションサーバのサーバ稼働ログで,「java.lang.OutOfMemoryError」のメッセージを確認した場合,JavaVMが生成した資料を取得して調査を進めます。 |
|
2 |
プロセスダウン |
アプリケーションサーバのプロセスダウンが発生した場合,JavaVMが生成した資料を取得して調査を進めます。 |
|
3 |
トランザクションタイムアウト |
トランザクションタイムアウトが発生したことは,アプリケーションサーバのサーバ稼働ログのメッセージから確認できます。その上で,アプリケーションサーバのサーバ稼働ログをさらに詳細に確認して,タイムアウトの原因の可能性が高い個所を特定することで原因究明を進めていきます。この過程で,アプリケーションのサーバ稼働ログの出力不足などによって,どこの処理で時間が掛かっているのか特定できない場合は,現象を再現させた上で,JavaVMが生成した資料を取得することで問題個所を特定できる可能性があります。 |
|
4 |
プロセスハングアップ |
アプリケーションサーバのプロセスは存在しているが,アプリケーションサーバのサーバ稼働ログでアプリケーションが動作している様子が見られない場合,JavaVMが生成した資料を取得することで問題個所を特定できる可能性があります。 |
|
5 |
スローダウン |
FullGC実行時間の影響によって現象が発生している可能性があります。JavaVMが生成した資料を取得して確認します。 |
|
6 |
リクエストタイムアウト |
トランザクションタイムアウトが発生しておらず,リクエストタイムアウトが発生する場合,パラメタ設定に問題がないか確認します。具体的には,Webサーバ側に設定するリクエストタイムアウトの設定値は,アプリケーションサーバ側に設定するトランザクションタイムアウトの設定値より十分大きな値を設定する必要があります。それでも問題が解決しない場合,インフラ設計を見直し,受け付けたリクエストがリクエストタイムアウト時間以内に処理できるように流量設計を行い,パラメタのチューニングを検討します。 |
− |
ここで説明した代表的な障害に当てはまらない場合,出力されたメッセージや収集したトラブルシューティングのための情報を確認して調査します。