Hitachi

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


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

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

〈この項の構成〉

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

図8-9または図8-10のポイント1のタイムアウトを設定するチューニングパラメタです。Webサーバ連携の場合だけ指定できます。

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

設定項目

設定個所

クライアントからのリクエスト受信,およびクライアントへのデータ送信のタイムアウト

httpsd.confのTimeoutディレクティブ

(2) リバースプロキシ側で設定するWebコンテナへのデータ送信のタイムアウト

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

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

表8‒27 リバースプロキシ側で設定するタイムアウトのチューニングパラメタ

ポイント

設定項目

設定対象

設定個所(パラメタ名)

2

リクエスト送信時のWebコンテナに対するコネクション確立のタイムアウト

論理Webサーバ(web-server)

manager.web.reverseproxy.mappingのtimeoutキー

3

リクエスト送信のタイムアウト

論理Webサーバ(web-server)

manager.web.reverseproxy.mappingのtimeoutキー

(3) リバースプロキシ側で設定するWebコンテナからのデータ受信のタイムアウト

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

リバースプロキシの転送先単位で設定します。リバースプロキシ側で設定するタイムアウトのチューニングパラメタについて説明します。

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

表8‒28 リバースプロキシ側で設定するタイムアウトのチューニングパラメタ

設定項目

設定対象

設定個所(パラメタ名)

レスポンスデータ待ちの通信タイムアウト

論理Webサーバ(web-server)

manager.web.reverseproxy.mappingのtimeoutキー

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

(4) Webコンテナ側で設定するリバースプロキシまたはWebクライアントからのデータ受信のタイムアウト

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

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

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

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

設定項目

設定対象

設定個所(パラメタ名)

リバースプロキシまたはWebクライアントからの応答待ちのタイムアウト

論理J2EEサーバ(j2ee-server)

webserver.connector.nio_http.receive_timeout

(5) Webコンテナ側で設定するリバースプロキシまたはWebクライアントへのデータ受信のタイムアウト

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

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

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

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

設定項目

設定対象

パラメタ名

レスポンス送信処理のタイムアウト

論理J2EEサーバ(j2ee-server)

webserver.connector.nio_http.send_timeout

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

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

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

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

表8‒31 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‒32 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による呼び出し単位に設定します。

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

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

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

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

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

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

単位

設定方法

設定項目

設定個所

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‒34 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‒35 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‒36 SQL Serverのタイムアウトを設定するチューニングパラメタ

タイムアウトの種類

設定個所

設定方法(パラメタ名/ステートメント名)

設定内容

メモリ取得待ちタイムアウト

サーバー構成オプション

query waitパラメタ

設定値は任意です。

ロック解放待ちタイムアウト

SET LOCK_TIMEOUTステートメント

設定値は任意です。

(凡例)

−:該当しない。

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

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

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

表8‒37 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‒38 メソッド実行時間のタイムアウトを設定するチューニングパラメタ

対象になるポイント

タイムアウトの種類およびタイムアウト時の動作

設定個所

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>