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

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

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

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

<この項の構成>
(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) DB Connectorのタイムアウト
(10) データベースのタイムアウト
(11) J2EEアプリケーションのメソッドタイムアウト

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

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

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

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

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

注 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サーバとして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のポイント13のタイムアウトを設定するチューニングパラメタです。

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の場合) API UserTransaction#setTransactionTimeoutメソッド

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


(9) DB Connectorのタイムアウト

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

DB Connector単位に設定します。

DB Connectorのチューニングパラメタを次の表に示します。

表8-36 DB Connectorのチューニングパラメタ

単位 設定方法 設定項目 設定個所
DB Connector単位 サーバ管理コマンドのcjsetrarpropまたはcjsetresprop 物理コネクション確立時のタイムアウト

定義ファイル
Connector属性ファイル

設定対象
DB Connector

パラメタ名
loginTimeout
コネクション枯渇時のコネクション取得要求のタイムアウト

定義ファイル
Connector属性ファイル

設定対象
DB Connector

パラメタ名
RequestQueueTimeout
J2EEサーバ単位 Smart Composer機能 コネクション障害検知のタイムアウト

定義ファイル
簡易構築定義ファイル

設定対象
論理J2EEサーバ(j2ee-server)

パラメタ名
ejbserver.connectionpool.validation.timeout

注※ コネクション数調節機能のタイムアウト時間と同じプロパティになります。


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

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

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

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

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

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

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

タイムアウトの種類 設定個所 設定方法(パラメタ名) 設定内容
ロック解放待ちタイムアウト HiRDBサーバのシステム共通定義 pd_lck_wait_timeoutパラメタ 設定値は任意です。
レスポンスタイムアウト HiRDBのクライアント環境変数 PDCWAITTIME 設定値は任意です。ただし,グローバルトランザクションの場合はトランザクションタイムアウトの値よりも大きな値を指定します。
リクエスト間隔タイムアウト HiRDBのクライアント環境変数 PDSWAITTIME 設定値は任意です。ただし,グローバルトランザクションの場合はトランザクションタイムアウトの値よりも大きな値を指定します。
参考
PDCWAITTIMEやPDSWAITTIMEがトランザクションタイムアウトの値よりも小さいと,トランザクションとしては制限時間内であっても,データベースの処理は制限時間オーバーになってタイムアウトが発生します。
その場合,トランザクション中であるにもかかわらずデータベースからコネクションが切断され,トランザクションマネージャがトランザクションを決着できなくなります。
また,グローバルトランザクションの場合,コネクション切断後はトランザクション決着の指示が届かないため,トランザクションのリカバリが必要になります。
(b) Oracleのタイムアウトの設定(グローバルトランザクションを使用している場合)

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

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

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

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

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

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

タイムアウトの種類 設定個所 設定方法(パラメタ名/ステートメント名) 設定内容
メモリ取得待ちタイムアウト サーバー構成オプション query waitパラメタ 設定値は任意です。
ロック解放待ちタイムアウト SET LOCK_TIMEOUTステートメント 設定値は任意です。

(凡例)
−:該当しない。

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

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

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

表8-39 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接続機能」を参照してください。

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

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

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

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

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

対象になるポイント タイムアウトの種類およびタイムアウト時の動作 設定個所
6 フィルタ,サーブレットまたはJSPのリクエスト処理メソッド

定義ファイル
サーブレット属性ファイル

パラメタ名
<method-observation-timeout>
9 Enterprise Beanのリクエスト処理メソッド

定義ファイル
Session Bean属性ファイル,Entity Bean属性ファイルまたはMessage-driven Bean属性ファイル

パラメタ名
<ejb-method-observation-timeout>
6および9 タイムアウト発生時のアプリケーション単位の動作

定義ファイル
アプリケーション属性ファイル

パラメタ名
<method-observation-recovery-mode>