Webサーバの運用時に異常が発生した場合の対処方法について説明します。
Webサーバから応答がない/Webサーバからのレスポンスが遅延する
■手順1(Webサーバの状態確認)
ihsdispコマンドを-aオプションを指定して実行し、運用中のWebサーバの状態を表示します。その表示内容について、以下の図を参考にして問題がないかを確認し、それぞれの対処を行ってください。Webサーバの動作状態の表示方法については、“Interstage HTTP Server 運用ガイド”の“運用・保守”-“動作状態表示”を参照してください。
■手順2(トレースログの確認)
トレースログを参照し、本現象が発生した時間帯のトレース情報の出力内容から問題がないかを確認します。トレースログの詳細については、“Interstage HTTP Server 運用ガイド”の“ログ”-“トレースログ”を参照してください。
トレースログのイベント(conn、recv、call、rtn、send、disc)出力を以下の方法で抽出します。イベントの出力の流れについては、以下の図を参考にしてください。
トレース情報を、同一通信スレッドのスレッドID単位で抽出します。本現象発生時のクライアントのIPアドレスがわかっている場合は、そのクライアントIPアドレスが出力されているconnイベントのスレッドID単位で抽出してください。
トレース情報を、同一通信プロセスのプロセスID単位で抽出します。本現象発生時のクライアントのIPアドレスがわかっている場合は、そのクライアントIPアドレスが出力されているconnイベントのプロセスID単位で抽出してください。
1.で抽出したトレース情報の出力内容について、以下の図を参考にしてそれぞれの対処を行います。
■対処1
Webサーバが起動されていません。
Webサーバを起動してください。
■対処2
Webサーバにリクエストが届いていない可能性があります。
クライアントからリクエストデータが送信されているかを確認してください。
■対処3
POSTリクエストの場合、クライアントからボディデータが届いていない可能性があります。
クライアントからPOSTリクエストのボディデータが送信されているかを確認してください。
■対処4
Servletサービスのアプリケーションの処理が遅延している可能性があります。
Webサーバコネクタおよびアプリケーションに問題が発生していないかを確認してください。
注)“手順2(トレースの確認)”では、トレース情報の出力内容が以下の状態の場合に該当します。
callイベントのあとに、rtnイベントが出力されていない
callイベントとrtnイベントの時間差が大きい
■対処5
リクエスト送信元のクライアントと送信先のWebサーバ間のネットワーク機器(ルータ、負荷分散装置など)で遅延が発生している可能性があります。
クライアントとWebサーバ間のネットワーク機器(ルータ、負荷分散装置など)が正常に動作しているかを確認してください。
■対処6
処理中のリクエスト数(requests currently being processed)が同時接続数に達している場合は、必要に応じて、以下の手順でクライアントの同時接続数の設定値を増加してください。
Interstage管理コンソールで設定する場合
Webサーバの環境設定画面で設定します。Interstage管理コンソールの定義方法については、Interstage管理コンソールのヘルプを参照してください。
環境定義ファイル(httpd.conf)を編集して設定する場合
ThreadsPerChildディレクティブの設定値を変更します。
MaxClientsディレクティブの設定値を変更します。
環境定義ファイル(httpd.conf)の設定方法の詳細については、“Interstage HTTP Server 運用ガイド”の“環境設定”-“環境定義ファイル”-“クライアントの同時接続数の設定”を参照してください。
なお、Webサーバの起動後、リクエスト数がはじめてクライアントの同時接続数に達した際に、以下のメッセージがエラーログに出力されます。エラーログのメッセージの内容と対処については、“メッセージ集”の“Interstage HTTP Serverが出力するメッセージ”-“Interstage HTTP Serverのエラーログ”を参照してください。
Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
server reached MaxClients setting, consider raising the MaxClients setting
■対処7
SSL通信においてSSLハンドシェイクに失敗した可能性があります。
エラーログが出力されていないかを確認してください。エラーログが出力されている場合は、そのメッセージの異常の原因を取り除いてください。エラーログのメッセージの内容と対処については、“メッセージ集”の“Interstage HTTP Serverが出力するメッセージ”-“Interstage HTTP Serverのエラーログ”を参照してください。
■対処8
ログのローテーション機能により、問題が発生した時間帯のトレースログが削除された可能性があります。
トレースログのファイルサイズおよびファイル数の上限値を確認してください。トレースログの設定については、“Interstage HTTP Server 運用ガイド”の“環境定義ファイル”-“トレースログの設定”を参照してください。
■対処9
iscollectinfoコマンドを使用して調査情報を採取した後、技術員に連絡してください。資料採取の詳細については、“メッセージ集”の“技術員連絡の前に”を参照してください。