7.7.25 システム全体の障害での障害調査
サービスリクエスタからのサービス部品呼び出し要求やコマンド要求に対し,応答が返ってこない場合などについて,調査手順を示します。
- 〈この項の構成〉
(1) プロセスハングアップ
サービスリクエスタからのサービス部品呼び出し要求や,コマンド要求の応答が返ってこない場合,HCSCサーバ(J2EEサーバ)のプロセスがハングアップしているおそれがあります。プロセスハングアップ時の調査の流れについて説明します。
(a) サービスリクエスタからのサービス部品呼び出し要求の場合
サービスリクエスタからのサービス部品呼び出し要求の場合の,プロセスハングアップ時の調査手順を次に示します。
-
サービス部品呼び出し要求の処理がどこまで完了していて,どこでハングアップしているかを調査します。サービス部品呼び出し処理の実行履歴の追跡は,プロトコルごとに異なります。
各プロトコルでの要求実行時の障害対策については,「7.7.1 Webサービス(SOAP通信)実行時の障害対策」,「7.7.2 SessionBean実行時の障害対策」,「7.7.3 MDB(WS-R)実行時の障害対策」,および「7.7.4 MDB(DBキュー)実行時の障害対策」を参照してください。
-
サービス部品呼び出し要求がどこまで処理されているか調査した結果を参考に,サービスリクエスタ稼働マシン,HCSCサーバ稼働マシン,サービス部品稼働マシン,およびデータベース稼働マシンについて,該当プロセスのCPU利用率をそれぞれ調査します。
CPU利用率が100%に近い状態の場合,無限ループや再起呼び出しに陥っているおそれがあります。
CPU利用率が0%に近い状態の場合,バックプロセスからの応答が返ってこないケースや,デッドロックなどのおそれがあります。
-
サービスプラットフォームの「J2EEサーバ,リダイレクタ,サーバ管理コマンドのログ」を確認して,不正なエラーが出ていないかどうかを調査します。
-
性能解析トレースを取得し,解析します。処理に時間が掛かっている個所を特定することで,ハングアップが起きている個所を特定できます。
-
スレッドダンプを複数回取得して,時系列で観察し,それぞれのスレッドダンプでtidの同じスレッドのスタックトレースを比較調査します。
(b) コマンド要求の場合
コマンド要求の場合の,プロセスハングアップ時の調査手順を次に示します。
-
コマンド要求の場合,運用環境稼働マシン,HCSCサーバ稼働マシン,およびデータベース稼働マシンについて,該当プロセスのCPU利用率をそれぞれ調査します。
CPU利用率が100%に近い状態の場合,無限ループや再起呼び出しに陥っているおそれがあります。
CPU利用率が0%に近い状態の場合,バックプロセスからの応答が返ってこないケースや,デッドロックなどのおそれがあります。
-
サービスプラットフォームの「J2EEサーバ,リダイレクタ,サーバ管理コマンドのログ」,および「運用管理エージェント,運用監視エージェント,Management Serverのログ」を確認して,不正なエラーが出ていないかどうかを調査します。
-
スレッドダンプを複数回取得して,時系列で観察し,それぞれのスレッドダンプでtidの同じスレッドのスタックトレースを比較調査します。
(2) プロセススローダウン
サービスリクエスタからのサービス部品呼び出し要求のスループットやレスポンスタイムがスローダウンしてきた場合,性能解析トレースで実行時間の長い個所を割り出します。
性能解析トレースを取得,解析し,処理に時間が掛かっている個所を特定することで,スローダウンが起きている個所を特定できます。
(3) タイムアウト
サービスリクエスタからのサービス部品呼び出し要求や,コマンド要求の応答でタイムアウトが発生した場合の流れについて説明します。
(a) サービスリクエスタからのサービス部品呼び出し要求の場合
サービスリクエスタからのサービス部品呼び出し要求の場合の,タイムアウト時の調査手順を次に示します。
-
タイムアウトが発生した場合,エラーメッセージが出力されるので,これを調査します。
-
タイムアウトのエラーメッセージのほかにエラーメッセージが出ていないかどうか,サービスプラットフォームのJ2EEサーバが出力する障害情報を確認して調査します。
-
サービス部品呼び出し要求処理がどこまで完了していて,どこでハングアップしているかを調査します。サービス部品呼び出し処理の実行履歴の追跡は,プロトコルごとに異なります。
各プロトコルでの要求実行時の障害対策については「7.7.1 Webサービス(SOAP通信)実行時の障害対策」,「7.7.2 SessionBean実行時の障害対策」,「7.7.3 MDB(WS-R)実行時の障害対策」,および「7.7.4 MDB(DBキュー)実行時の障害対策」を参照してください。
-
リクエストトレースまたは性能解析トレースを調査します。
サービス部品呼び出し要求がどこまで行われているか調査した結果を参考に,処理に時間が掛かっている個所を特定することで,タイムアウトが発生した原因を究明できます。
(b) コマンド要求の場合
コマンド要求の場合の,タイムアウト時の調査手順を次に示します。
-
タイムアウトが発生した場合,エラーメッセージが出力されるので,これを調査します。
-
タイムアウトのエラーメッセージのほかにエラーメッセージが出ていないか調査します。
サービスプラットフォームの次に示すログを確認して,不正なエラーが出ていないか調査します。
-
J2EEサーバ,リダイレクタ,サーバ管理コマンドのログ
-
運用管理エージェント,運用監視エージェント,Management Serverのログ
-