8.6.7 タイムアウトを設定するチューニングパラメタ

ここでは,タイムアウトの設定で使用するチューニングパラメタの設定方法についてまとめて示します。

<この項の構成>
(1) Webサーバ側で設定するクライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウト
(2) リダイレクタ側で設定するWebコンテナへのデータ送信のタイムアウト
(3) リダイレクタ側で設定するWebコンテナからのデータ受信のタイムアウト
(4) Webコンテナ側で設定するリダイレクタからのデータ受信のタイムアウト
(5) Webコンテナ側で設定するリダイレクタへのデータ受信のタイムアウト
(6) EJBクライアント側で設定するEnterprise Beanのリモート呼び出し(RMI-IIOP通信)とJNDIによるネーミングサービス呼び出しのタイムアウト
(7) EJBクライアント側で設定するCTMからEnterprise Bean呼び出しのタイムアウト
(8) EJBコンテナ側で設定するデータベースのトランザクションタイムアウト(DB Connectorを使用した場合)
(9) データベースのタイムアウト
(10) J2EEアプリケーションのメソッドタイムアウト

(1) Webサーバ側で設定するクライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウト

図8-9または図8-10のポイント1のタイムアウトを設定するチューニングパラメタです。使用するWebサーバによって設定個所が異なります。

Webサーバ連携の場合は,Webサーバ単位に設定します。ファイル編集によって設定します。

表8-27 Webサーバ側で設定するクライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウトのチューニングパラメタ(Webサーバ連携の場合)

設定項目設定個所
クライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウトhttpsd.confのTimeoutディレクティブ

注 Web Redirectorを使用する場合などで,WebサーバとしてMicrosoft IISを使用しているときには,isapi_redirect.confのreceive_client_timeoutキーを編集してください。


インプロセスHTTPサーバの場合は,J2EEサーバ単位に設定します。

次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。

表8-28 Webサーバ側で設定するクライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウトのチューニングパラメタ(インプロセスHTTPサーバの場合)

設定項目設定対象設定個所(パラメタ名)
クライアントからのリクエスト受信のタイムアウト論理J2EEサーバ(j2ee-server)webserver.connector.inprocess_http.receive_timeout
クライアントへのデータ送信のタイムアウト論理J2EEサーバ(j2ee-server)webserver.connector.inprocess_http.send_timeout

(2) リダイレクタ側で設定するWebコンテナへのデータ送信のタイムアウト

図8-9のポイント2,およびポイント3のタイムアウトを設定するチューニングパラメタです。リダイレクタ側で設定するタイムアウトのチューニングパラメタについて説明します。なお,これらのチューニングパラメタは,Webサーバ連携の場合だけ指定できます。

次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。

表8-29 リダイレクタ側で設定するタイムアウトのチューニングパラメタ

ポイント設定項目設定対象設定個所(パラメタ名)
2リクエスト送信時のWebコンテナに対するコネクション確立のタイムアウト論理Webサーバ(web-server)JkConnectTimeout
3リクエスト送信のタイムアウト論理Webサーバ(web-server)JkSendTimeout

注※ Web Redirectorを使用する場合などで,WebサーバとしてMicrosoft IISを使用しているときには,isapi_redirect.confのconnect_timeoutキーを編集してください。


(3) リダイレクタ側で設定するWebコンテナからのデータ受信のタイムアウト

図8-9のポイント4のタイムアウトを設定するチューニングパラメタです。

リダイレクタのワーカ定義単位で設定します。リダイレクタ側で設定するタイムアウトのチューニングパラメタについて説明します。

次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。

表8-30 リダイレクタ側で設定するタイムアウトのチューニングパラメタ

設定項目設定対象設定個所(パラメタ名)
レスポンスデータ待ちの通信タイムアウト論理Webサーバ(web-server)worker.<ワーカ名>.receive_timeout

Webサーバ連携の場合だけ指定できます。

(4) Webコンテナ側で設定するリダイレクタからのデータ受信のタイムアウト

図8-9のポイント5のタイムアウトを設定するチューニングパラメタです。

J2EEサーバ単位で設定します。Webコンテナ側で設定するタイムアウトのチューニングパラメタについて説明します。

次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。

表8-31 Webコンテナ側で設定するタイムアウトのチューニングパラメタ

設定項目設定対象設定個所(パラメタ名)
リダイレクタからの応答待ちのタイムアウト論理J2EEサーバ(j2ee-server)webserver.connector.ajp13.receive_timeout

Webサーバ連携の場合だけ指定できます。

(5) Webコンテナ側で設定するリダイレクタへのデータ受信のタイムアウト

図8-9のポイント12のタイムアウトを設定するチューニングパラメタです。

J2EEサーバ単位で設定します。Webコンテナ側で設定するタイムアウトのチューニングパラメタについて説明します。

次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。

表8-32 Webコンテナ側で設定するタイムアウトのチューニングパラメタ

設定項目設定対象パラメタ名
レスポンス送信処理のタイムアウト論理J2EEサーバ(j2ee-server)webserver.connector.ajp13.send_timeout

Webサーバ連携の場合だけ指定できます。

(6) EJBクライアント側で設定するEnterprise Beanのリモート呼び出し(RMI-IIOP通信)とJNDIによるネーミングサービス呼び出しのタイムアウト

図8-9または図8-10のポイント7のタイムアウトを設定するチューニングパラメタです。

J2EEサーバ単位,EJBクライアントアプリケーション単位またはAPIによる呼び出し単位に設定します。

EJBクライアント側で設定するタイムアウトのチューニングパラメタ(RMI-IIOP通信によるリモート呼び出し)を次の表に示します。

表8-33 EJBクライアント側で設定するタイムアウトのチューニングパラメタ(RMI-IIOP通信によるリモート呼び出し)

単位設定方法設定項目設定個所
J2EEサーバ単位Smart Composer機能クライアントとサーバ間の通信タイムアウト
定義ファイル
簡易構築定義ファイル
設定対象
論理J2EEサーバ(j2ee-server)
パラメタ名
ejbserver.rmi.request.timeout
EJBクライアントアプリケーション単位ファイル編集または開始時に指定するシステムプロパティの指定
定義ファイル(ファイル編集の場合)
usrconf.properties
パラメタ名
ejbserver.rmi.request.timeoutキー
API単位API
オブジェクト単位で設定する場合
RequestTimeoutConfig#setRequestTimeout(java.rmi.Remote obj, int sec)メソッド
スレッド単位で設定する場合
RequestTimeoutConfig#setRequestTimeout(int sec)メソッド

注※ パッケージ名はcom.hitachi.software.ejb.ejbclientです。


EJBクライアント側で設定するタイムアウトのチューニングパラメタ(ネーミングサービス呼び出し)を次の表に示します。

表8-34 EJBクライアント側で設定するタイムアウトのチューニングパラメタ(ネーミングサービス呼び出し)

単位設定方法設定項目設定個所
J2EEサーバ単位Smart Composer機能ネーミングサービスとの通信タイムアウト時間
定義ファイル
簡易構築定義ファイル
設定対象
論理J2EEサーバ(j2ee-server)
パラメタ名
ejbserver.jndi.request.timeout
EJBクライアントアプリケーション単位ファイル編集または開始時に指定するシステムプロパティの指定
定義ファイル(ファイル編集の場合)
usrconf.properties
パラメタ名
ejbserver.jndi.request.timeoutキー

(7) EJBクライアント側で設定するCTMからEnterprise Bean呼び出しのタイムアウト

図8-9または図8-10のポイント8のタイムアウトを設定するチューニングパラメタです。

J2EEサーバ単位,EJBクライアントアプリケーション単位またはAPIによる呼び出し単位に設定します。

なお,このタイムアウトの設定値には,「(6) EJBクライアント側で設定するEnterprise Beanのリモート呼び出し(RMI-IIOP通信)とJNDIによるネーミングサービス呼び出しのタイムアウト」で指定した設定値と同じ値が引き継がれます。

(8) EJBコンテナ側で設定するデータベースのトランザクションタイムアウト(DB Connectorを使用した場合)

図8-9または図8-10のポイント10のタイムアウトを設定するチューニングパラメタです。

J2EEサーバ単位,Enterprise Bean,インタフェース,メソッド単位(CMTの場合),またはAPIによる呼び出し単位(BMTの場合)に設定します。

トランザクションタイムアウトのチューニングパラメタを次の表に示します。

表8-35 トランザクションタイムアウトのチューニングパラメタ

単位設定方法設定項目設定個所
J2EEサーバ単位Smart Composer機能トランザクションのトランザクションタイムアウト時間のデフォルト
定義ファイル
簡易構築定義ファイル
設定対象
論理J2EEサーバ(j2ee-server)
パラメタ名
ejbserver.jta.TransactionManager.defaultTimeOut
Enterprise Bean,インタフェース,メソッド単位(CMTの場合)サーバ管理コマンドのcjsetapppropコマンドトランザクションタイムアウト時間
定義ファイル
Session Bean属性ファイル,Entity Bean属性ファイル,またはMessage-driven Bean属性ファイル
パラメタ名
<ejb-transaction-timeout>
API単位(BMTの場合)APIUserTransaction#setTransactionTimeoutメソッド

注※ パッケージ名はjavax.transactionです。


(9) データベースのタイムアウト

図8-9または図8-10のポイント11のタイムアウトを設定するチューニングパラメタです。

データベースのタイムアウトは,使用するデータベースの種類,およびサーバの動作モードによって異なります。なお,ここでは,DB Connectorを使用してHiRDB,Oracle,SQL ServerまたはXDM/RD E2にアクセスする場合のタイムアウトの設定方法について説明します。

参考
Oracleを使用している場合,チューニングパラメタによってタイムアウトが設定できるのは,グローバルトランザクションを使用しているときだけです。ローカルトランザクションを使用している場合,パラメタによってタイムアウトを設定することはできません。ただし,メソッドで設定するクエリータイムアウトは,ローカルトランザクション,グローバルトランザクションのどちらでも設定できます。
(a) HiRDBのタイムアウトの設定

HiRDBサーバのシステム共通定義またはHiRDBのクライアント環境変数に設定します。詳細は,マニュアル「HiRDB システム定義」またはマニュアル「HiRDB UAP開発ガイド」を参照してください。

HiRDBのタイムアウトを設定するチューニングパラメタを次の表に示します。

表8-36 HiRDBのタイムアウトを設定するチューニングパラメタ

タイムアウトの種類設定個所設定方法(パラメタ名)設定内容
ロック解放待ちタイムアウトHiRDBサーバのシステム共通定義pd_lck_wait_timeoutパラメタ設定値は任意です。
レスポンスタイムアウトHiRDBのクライアント環境変数PDCWAITTIMEトランザクションタイムアウトの値よりも大きな値を指定します。
リクエスト間隔タイムアウトHiRDBのクライアント環境変数PDSWAITTIMEトランザクションタイムアウトの値よりも大きな値を指定します。
(b) Oracleのタイムアウトの設定(グローバルトランザクションを使用している場合)

Oracleのサーバ定義のDISTRIBUTED_LOCK_TIMEOUTパラメタに設定します。

なお,このほか,XAOpenStringのSesTmパラメタの設定がタイムアウトに影響します。このパラメタは,チューニングできません。

(c) SQL Serverのタイムアウトの設定

SQL Serverの環境設定オプションのパラメタ,またはステートメントの実行によって設定します。

SQL Serverのタイムアウトを設定するチューニングパラメタを次の表に示します。

表8-37 SQL Serverのタイムアウトを設定するチューニングパラメタ

タイムアウトの種類設定個所設定方法(パラメタ名/ステートメント名)設定内容
メモリ取得待ちタイムアウトSQL Serverの環境設定オプション(SQL Server 2000の場合)またはサーバー構成オプション(SQL Server 2005またはSQL Server 2008の場合)query waitパラメタ設定値は任意です。
ロック解放待ちタイムアウトSET LOCK_TIMEOUTステートメント設定値は任意です。
(凡例)
-:該当しない。

(d) XDM/RD E2のタイムアウトの設定

XDM/BASEのシステムオプション定義,HiRDBのクライアント環境変数,またはDBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文に設定します。

XDM/RD E2のタイムアウトを設定するチューニングパラメタを次の表に示します。

表8-38 XDM/RD E2のタイムアウトを設定するチューニングパラメタ

タイムアウトの種類設定個所設定方法(パラメタ名)設定内容
ロック解放待ちタイムアウトXDM/BASEのシステムオプション定義TIMER設定値は任意です。※1
SQL実行CPU時間タイムアウトDBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文SQLCTIMEトランザクションタイムアウトの値よりも大きな値を指定します。※2
SQL実行経過時間タイムアウトDBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文SQLETIMEトランザクションタイムアウトの値よりも大きな値を指定します。※2
トランザクション経過時間タイムアウトDBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文SVETIMEトランザクションタイムアウトの値よりも大きな値を指定します。※2
レスポンスタイムアウトHiRDBクライアント環境変数PDCWAITTIMEトランザクションタイムアウトの値よりも大きな値を指定します。※3
注※1
詳細については,マニュアル「VOS3 データマネジメントシステム XDM E2系 システム定義(XDM/BASE・SD・TM2)」を参照してください。
注※2
詳細については,マニュアル「VOS3 Database Connection Server」を参照してください。
注※3
詳細については,マニュアル「HiRDB XDM/RD E2接続機能」を参照してください。

(10) J2EEアプリケーションのメソッドタイムアウト

図8-9または図8-10のポイント6とポイント9のタイムアウトを設定するチューニングパラメタです。

Webアプリケーション内またはEnterprise Bean内のメソッド単位にタイムアウトを設定する場合は,アプリケーションの属性として設定します。また,タイムアウトが発生した場合の動作についても,アプリケーションの属性として設定します。これらの項目は,サーバ管理コマンド(cjsetappprop)で設定します。

メソッドの実行時間のタイムアウトを設定するチューニングパラメタを次の表に示します。なお,ポイントごとに設定個所が異なります。

表8-39 メソッド実行時間のタイムアウトを設定するチューニングパラメタ

対象になるポイントタイムアウトの種類およびタイムアウト時の動作設定個所
6フィルタ,サーブレットまたはJSPのリクエスト処理メソッド
定義ファイル
サーブレット属性ファイル
パラメタ名
<method-observation-timeout>
9Enterprise Beanのリクエスト処理メソッド
定義ファイル
Session Bean属性ファイル,Entity Bean属性ファイルまたはMessage-driven Bean属性ファイル
パラメタ名
<ejb-method-observation-timeout>
6および9タイムアウト発生時のアプリケーション単位の動作
定義ファイル
アプリケーション属性ファイル
パラメタ名
<method-observation-recovery-mode>

注※ メソッドキャンセルを実行する場合に「thread」を指定します。