Cosminexus アプリケーションサーバ V8 システム設計ガイド

[目次][用語][索引][前へ][次へ]

8.6.1 タイムアウトが設定できるポイント

J2EEアプリケーションを実行するシステムでは,次の図に示すポイントにタイムアウトが設定できます。なお,次の図は,クライアントがWebブラウザの場合です。また,Webサーバ連携をする場合とインプロセスHTTPサーバを使用する場合で,ポイントが異なります。

図8-9 タイムアウトが設定できるポイント(Webサーバ連携の場合)

[図データ]

なお,クライアントがEJBクライアントの場合は,WebコンテナをEJBクライアントに置き換えてください。EJBクライアントからデータベースまでの範囲のタイムアウトが設定できます。

また,インプロセスHTTPサーバを使用する場合は,リダイレクタは該当しません。このため,タイムアウトを設定するポイントとして,ポイント2〜5と12は該当しません。インプロセスHTTPサーバを使用する場合にタイムアウトが設定できるポイントについて,次の図に示します。

図8-10 タイムアウトが設定できるポイント(インプロセスHTTPサーバの場合)

[図データ]

それぞれのポイントに設定するタイムアウトは,次の表に示すような用途で使い分けられます。

表8-26 各ポイントに設定するタイムアウトの目的とデフォルトのタイムアウト設定

ポイント タイムアウトの種類 主な用途
1 サーバ側で設定するクライアントからのリクエスト受信およびクライアントへのデータ送信のタイムアウト

Webサーバ連携の場合
通信路の障害,またはWebサーバの障害の検知

インプロセスHTTPサーバの場合
通信路の障害,または不正なクライアントからのアクセスの検知
2 リダイレクタ側で設定するWebコンテナへのリクエスト送信処理のうち,コネクション確立のタイムアウト 通信路の障害またはWebコンテナの障害検知
3 リダイレクタ側で設定するWebコンテナへのリクエスト送信処理のうち,リクエストヘッダおよびリクエストボディ送信のタイムアウト 通信路の障害またはWebコンテナの障害検知
4 リダイレクタ側で設定するWebコンテナからのデータ受信のタイムアウト J2EEサーバの業務処理の障害(無限ループ,デッドロックなど),または通信路の障害の検知
5 Webコンテナ側で設定するリダイレクタからのデータ受信のタイムアウト 通信路の障害またはWebサーバの障害検知
6 Webアプリケーションで設定するメソッドの実行時間のタイムアウト J2EEサーバの業務処理の障害(無限ループ,デッドロックなど)
7 EJBクライアント側で設定するEnterprise Beanのリモート呼び出し(RMI-IIOP通信)とJNDIネーミングサービス呼び出しのタイムアウト J2EEサーバの業務処理の障害(無限ループ,デッドロックなど),または通信路の障害の検知
8 EJBクライアント側で設定するCTMからのEnterprise Bean呼び出しのタイムアウト J2EEサーバの業務処理の障害(無限ループ,デッドロックなど),または通信路の障害の検知
9 EJBで設定するメソッドの実行時間のタイムアウト J2EEサーバの業務処理の障害(無限ループ,デッドロックなど)
10 EJBコンテナ側で設定するデータベースのトランザクションタイムアウト データベースサーバの障害(サーバダウンまたはデッドロックなど)の検知,またはリソースの長時間占有防止
11 データベースのタイムアウト データベースサーバの障害(サーバダウンまたはデッドロックなど)の検知,またはリソースの長時間占有防止
12 Webコンテナ側で設定するリダイレクタへのレスポンス送信のタイムアウト 通信路の障害またはリダイレクタの障害検知

注※ CTMを使用している場合にだけ存在するポイントです。CTMを利用しない構成の場合,ポイント7の範囲はWebコンテナからEJBコンテナにEJBリモート呼び出しを実行してから,EJBコンテナからWebコンテナに実行結果が送信されるまでの間になります。


これらのタイムアウトの基本的な設定指針は次のとおりです。

なお,1〜12のポイントは,システムでの位置づけによって,次の三つに分けられます。

それぞれのポイントでの設定については,「8.6.7 タイムアウトを設定するチューニングパラメタ」を参照してください。

参考
それぞれのポイントのデフォルト値は次のとおりです。
ポイント デフォルト値
1 300秒
2 30秒
3 100秒
4 3,600秒
5 600秒
6 設定されていません。タイムアウトしません。
7 設定されていません。レスポンスを待ち続けます。
8 ポイント7と同じ値がEnterprise Bean呼び出し時に自動的に引き継がれて設定されます。
9 設定されていません。タイムアウトしません。
10 180秒
11 データベースの種類とタイムアウトの設定個所ごとに異なります。

HiRDBの場合
ロック解放待ちタイムアウト:180秒
レスポンスタイムアウト:0秒(HiRDBクライアントはHiRDBサーバからの応答があるまで待ち続けます)
リクエスト間隔タイムアウト:600秒

Oracleの場合(グローバルトランザクションを使用するとき)
ロック解放待ちタイムアウト:60秒

SQL Serverの場合
メモリ取得待ちタイムアウト:-1(-1を指定した場合の動作は,SQL Serverのドキュメントを参照してください)
ロック解放待ちタイムアウト:-1(ロックが解放されるまで待ち続けます)

XDM/RD E2の場合
ロック解放待ちタイムアウト:なし(タイムアウト時間を監視しません)
SQL実行CPU時間タイムアウト:10秒
SQL実行経過時間タイムアウト:0秒(タイムアウト時間を監視しません)
トランザクション経過時間タイムアウト:600秒
レスポンスタイムアウト:0秒(HiRDBクライアントはXDM/RD E2サーバからの応答があるまで待ち続けます)
12 600秒