Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


5.6.7 レスポンス送受信時の通信タイムアウトの設定(Smart Composer機能を使用しない場合)

レスポンス送受信時の通信タイムアウトは,Webコンテナ−リダイレクタ間,Webサーバ−クライアント間に設定します。

それぞれの場合での通信タイムアウトの設定方法について説明します。

〈この項の構成〉

(1) Webコンテナでのレスポンス送信時の設定

Webコンテナからリダイレクタにレスポンス送信処理するときの通信タイムアウトは,Webコンテナに設定します。Webコンテナからのレスポンス送信時の待ち時間は,次のファイルに,を設定してください。

(2) リダイレクタでのレスポンス受信時の設定

Webコンテナからのレスポンスを受信するときの通信タイムアウトをリダイレクタに設定します。

(a) 設定方法

次のファイルに,Webコンテナからのレスポンス待ち時間を設定してください。

  • workers.properties

    worker.<ワーカ名>.receive_timeoutキーに,ワーカごとのレスポンス待ち時間(秒)を設定します。J2EEアプリケーション単位で通信タイムアウトを設定したい場合は,J2EEアプリケーションごとにワーカを定義してマッピングしてください。

(b) 設定時の注意

リダイレクタでのレスポンス受信時のタイムアウトでは,Webアプリケーションの障害を検知できます。そのため,運用状況によっては,Webアプリケーションの処理に必要となる時間を考慮して,障害検知と判断できる値を通信タイムアウトに設定する必要があります。

リダイレクタでのレスポンス受信時に設定するタイムアウト値については,次の点に考慮して設定してください。

  • 通信タイムアウトには,Webアプリケーションの処理に必要な時間より長い時間を設定してください。

    設定したタイムアウトの時間が,Webアプリケーションの処理時間より短い場合,Webアプリケーションは正常に処理されていても,リダイレクタ側ではタイムアウトが発生したと判断して,クライアントにエラーが返されます。

  • Webコンテナのピーク時の,同時実行スレッド数の制御による待ち時間を考慮してください。

    同時実行スレッド数の制御によって,Webコンテナのピーク時には,処理待ちリクエストの発生が考えられます。このため,サーバ管理コマンドを使用して同時実行スレッド数の制御を設定している場合,リクエストの処理時間が延長されることも考慮して,通信タイムアウトを設定しておく必要があります。Webコンテナ単位の同時実行スレッド数の制御の設定については,「5.11 Webコンテナ単位での同時実行スレッド数の制御」を,Webアプリケーション単位やURLグループ単位の同時実行スレッド数の制御の設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.15 Webアプリケーション単位での同時実行スレッド数の制御」や「2.16 URLグループ単位での同時実行スレッド数の制御」を参照してください。

  • Webコンテナでのリダイレクタへのデータの送信時に障害が発生した場合,TCPの再送タイマでのタイムアウトによって障害が検知されます。

    なお,UNIXの場合,タイムアウトまでの時間は,OSによって異なります。

(3) Webサーバでのレスポンス送信時の設定

クライアントにレスポンスを送信するときの通信タイムアウトをWebサーバに設定できます。

(a) 設定方法

次のファイルに,クライアントからのレスポンス待ち時間を設定してください。

  • httpsd.conf(HTTP Serverの場合)

    Timeoutディレクティブに通信タイムアウトを設定してください。なお,Timeoutディレクティブで指定する通信タイムアウトは,リクエスト受信処理に対する通信タイムアウトおよびレスポンス送信処理に対する通信タイムアウトの両方の時間として指定します。このため,リクエスト受信処理の通信タイムアウトとレスポンス送信処理の通信タイムアウトで異なる時間を設定することはできません。

    クライアントからのリクエスト受信処理に対する通信タイムアウトについては,「5.6.4(1) Webサーバでのリクエスト受信時の設定」を参照してください。

  • MinFileBytesPerSecプロパティ(Microsoft IISの場合)

    MinFileBytesPerSecプロパティに通信タイムアウトを設定してください。MinFileBytesPerSecプロパティには,Webサーバからクライアントへ送信するレスポンスデータのスループット(バイト/秒)を指定します。レスポンスデータのスループットがMinFileBytesPerSecに設定した値を下回った場合に,通信タイムアウトが発生します。なお,通信タイムアウトのデフォルトは240バイト/秒です。

    設定の詳細については,Microsoft IISのマニュアルを参照してください。

(b) 設定時の注意

Webサーバでのレスポンス送信時に設定するタイムアウト値については,クライアント−Webサーバ間のネットワーク構成,およびトラフィックの状態を考慮し,クライアントとデータの送受信をするのに十分な時間を設定してください。

また,Webサーバでのレスポンス送信時のタイムアウトは,Webコンテナでのレスポンス送信時のタイムアウト値よりも小さな値を設定してください。Webサーバでのレスポンス送信時のタイムアウトを,Webコンテナでのレスポンス送受信時のタイムアウト値よりも大きな値を設定しているときに,クライアント−Webサーバ間で障害が発生すると,Webサーバでのクライアントへのレスポンス送信のタイムアウトよりも先に,Webコンテナでのリダイレクタへのレスポンス送信でタイムアウトが発生するおそれがあります。この場合,障害が発生したのが,クライアント−Webサーバ間か,リダイレクタ−Webコンテナ間か判別できなくなります。