Hitachi

OpenTP1 Version 7 分散アプリケーションサーバ TP1/LiNK 使用の手引


3.4.2 RAPサービスの詳細設定

RAPサービス環境の詳細を設定するときは,[RAPサービス環境設定]ダイアログボックスの[詳細設定(T)...]ボタンをクリックします。ボタンをクリックすると,[RAPサービス詳細設定]ダイアログボックスが表示されます。

図3‒26 [RAPサービス詳細設定]ダイアログボックス

[図データ]

ボタンの使い方
[初期値設定(I)]ボタン

[RAPサービス詳細設定]ダイアログボックスのすべての項目を初期値にします。

[OK]ボタン

各項目を設定した値に変更してから,[RAPサービス詳細設定]ダイアログボックスを終了します。

[キャンセル]ボタン

各項目の値を変更しないで,[RAPサービス詳細設定]ダイアログボックスを終了します。

〈この項の構成〉

(1) [トランザクション]タブに設定する項目

[トランザクション]タブは,図3-26を参照してください。

[トランザクションブランチ限界経過時間(E)]  〜<符号なし整数>((0〜65535))《0》(単位:秒)

RAPサービスでトランザクションブランチの処理を監視する限界経過時間を指定します。指定時間を超えたときは,監視対象のトランザクションブランチのプロセスを異常終了させて,ロールバックします。0を指定した場合は,時間監視しません。

[子トランザクションブランチを監視時間に含める(B)]

このRAPサービスでトランザクションブランチの処理を監視する場合に,次に示す処理時間も監視時間に含めるかどうかをチェックボックスで指定します。

  1. 監視対象のトランザクションブランチが,RPC機能を使ってほかのトランザクションブランチを呼び出し,その処理が終わるのを待つ時間

  2. 連鎖RPCで呼び出されたサーバUAPが,次のサービス要求を待つ時間

  3. 監視対象のトランザクションブランチが,非同期RPCを使用してほかのトランザクションブランチを呼び出したあと,処理結果受信処理をしている時間

チェックボックスをオンにしたとき

1.,2.,3.のすべてを監視時間に含みます。

チェックボックスをオフにしたとき

3.だけを監視時間に含みます。

(2) [ソケット]タブに設定する項目

[図データ]

[ソケット用ファイル記述子の最大数(F)]  〜<符号なし整数>((32〜1993))《64》

OpenTP1制御下のプロセスで,ソケット用に使用するファイル記述子の最大数を指定します。

OpenTP1制御下のプロセスは,システムサービスやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をしています。このため,同時に稼働するUAPプロセスの数によって,ソケット用のファイル記述子の最大数を変更する必要があります。

この指定値が小さいと,OpenTP1制御下のほかのプロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eのエラーメッセージを出力して異常終了します。

ソケット用ファイル記述子の最大数の計算式を次に示します。計算結果の値の小数点以下は切り上げます。

(このrapサーバが通信するUAPプロセス数※1+システムサービスプロセス数※2)÷0.8

注※1

このrapサーバが通信するUAPプロセス数は,次に示す値の合計です。

  • このrapサーバが通信する自OpenTP1内のUAPプロセス数

  • このrapサーバが通信する他ノード内のUAPプロセス数

注※2

システムサービスプロセス数とは,自OpenTP1内のシステムサービスプロセスの数です。自OpenTP1内のシステムサービスプロセスは,rpcstatコマンドで表示されるサーバ名をカウントすることで求められます。rpcstatコマンドで表示されるサーバ名のうち,マニュアル「OpenTP1 解説」のOpenTP1のプロセス構造に記載されているシステムサービスプロセスをカウントしてください。

指定を省略した場合,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通の値が仮定されます。

OpenTP1の制限のため,次に示す場合は,指定値を調整してください。

[RAPサービス環境設定]ダイアログボックスの[ダイナミックコネクションスケジュール機能(Y)]欄をオンにしている場合

次の指定値の和が1993以下になるように調整してください。

  • [ソケット用ファイル記述子の最大数(F)](この項目)

  • [RAPサービス環境設定]ダイアログボックスの[RAPサービスのプロセス数]欄の[常駐(R)]

  • [RAPサービス環境設定]ダイアログボックスの[ダイナミックコネクションスケジュール機能(Y)]欄の[最大クライアント数(M)]

[RAPサービス環境設定]ダイアログボックスの[ダイナミックコネクションスケジュール機能(Y)]欄をオフにしている場合

[ソケット用ファイル記述子の最大数(F)]の指定値が1993以下になるように調整してください。

[ソケットの一時クローズ開始数(G)]  〜<符号なし整数>((0〜100))《100》(単位:%)

OpenTP1制御下のプロセスで,[ソケット用ファイル記述子の最大数]に指定した使用ソケット数の上限に対し,一時クローズ処理でソケットの再利用を開始するパーセンテージを指定します。

一時クローズ処理とは,保持したコネクションを,ユーザの関知しないところでコネクションを確立したプロセス間の合意の下に切断することで,プロセス内で使用するソケット数を調整する機能です。

OpenTP1では,プロセス内のソケット用に使用しているファイル記述子の数が「[ソケット用ファイル記述子の最大数]に指定した値×[ソケットの一時クローズ開始数]に指定した値÷100」を超えた時点で,一時クローズ処理を開始します。

0を指定すると,確立したコネクションを保持しないで,確立するたびに一時クローズ処理を実行します。

指定を省略した場合,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通の値が仮定されます。

[ソケットの一時クローズ非対象数(U)]  〜<符号なし整数>((0〜80))《0》(単位:%)

[ソケット用ファイル記述子の最大数]に指定した使用ソケット数の上限に対して,「[ソケット用ファイル記述子の最大数]指定値×[ソケットの一時クローズ非対象数]指定値÷100」の個数を一時クローズ処理の非対象として扱い,一時クローズ要求を送信しません。

ソケットの一時クローズ非対象数は,ソケットの一時クローズ開始数と同じかそれ以下の値を指定してください。指定を省略した場合,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通の値が仮定されます。

OpenTP1制御下のプロセスは,システムサーバやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をします。

コネクション確立時のオーバヘッド削減のために,一度確立したコネクションは切断しないで保持し,同じプロセス間の通信にはコネクションを再利用しています。

しかし,同じプロセスとの間の通信が頻繁に発生しない運用や,通信する相手プロセスが非常に多いシステムでは,保持しているコネクション数がある程度増えたときに適度にコネクションを解放して,1プロセスで使用するソケット数を調整および再利用できるようにする必要があります。

また,OpenTP1制御下のプロセスから電文の送信が発生した場合は,コネクションを確立する際に送信ポートを確保します。このポートの個数は1マシンで約4000であるため,UAPプロセスが1プロセスで保持するコネクション数の,システム全体の合計が2000を超えない程度に,[ソケットの一時クローズ開始数]および[ソケットの一時クローズ非対象数]の指定で調整してください。

この指定値が適切でないと,1プロセス内で使用できるソケット数が上限に達して,一時クローズによるソケットの再利用が新たなコネクション確立要求に追いつかなかったり,システム全体で使用するポート数がTCP/IPの上限を超え,プロセスが異常終了したりする場合があります。OpenTP1で使用するポート番号使用量の見積もり式については,「3.1.2(4) [ソケット]タブに設定する項目」の「表3-2 OpenTP1で使用するポート番号使用量の見積もり式」を参照してください。

[一時クローズ要求の応答監視時間(L)]  〜<符号なし整数>((0〜65535))《180》(単位:秒)

OpenTP1制御下のプロセスで,使用中のソケット数が[ソケット用ファイル記述子の最大数]に指定した上限値に達した時点から,一時クローズ処理でソケットが空いて再利用できるようになるまでの監視時間を指定します。ここで指定した時間を過ぎてもソケットが空かない場合は,そのプロセスを異常終了させます。

0を指定した場合は,無限に待ちます。指定を省略した場合,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通の値が仮定されます。

[ソケットウィンドウサイズ(H)]  〜<符号なし整数>((4〜2147483647))《4》(単位:キロバイト)

ソケットのウィンドウサイズを指定します。

(3) [応答時間]タブに設定する項目

[図データ]

[メッセージ送受信最大監視時間(W)]  〜<符号なし整数>((0〜65535))《180》(単位:秒)

rapリスナーおよびrapサーバがメッセージの送受信を開始してから,送受信が完了するまでの監視時間を指定します。

監視時間が経過してもメッセージの送受信が完了しない場合はメッセージを出力し,ネットワーク障害と同様の処理を行います。0を指定した場合は,時間監視をしません。

[問い合わせ間隔最大時間(M)]  〜<符号なし整数>((0〜1048575))《180》(単位:秒)

クライアントがrapリスナーおよびrapサーバに問い合わせ応答をしてから次の問い合わせがあるまでの間隔の最大待ち時間を指定します。

この値はrapリスナーまたはrapサーバ側で監視するタイマであり,指定時間を超えても問い合わせがない場合,クライアントがダウンしたとして処理します。

0を指定した場合は,無限に待ちます。常駐SPPからリモートAPI機能を使用している場合,次の三つの項目に0を指定しないでください。

  1. [問い合わせ間隔最大時間(M)](この項目)

  2. [SPP詳細設定]ダイアログボックスの[リモートAPI機能]タブの[常設コネクション問い合わせ間隔最大時間(M)]

  3. [SUP詳細設定]ダイアログボックスの[リモートAPI機能]タブの[常設コネクション問い合わせ間隔最大時間(M)]

三つの項目のうちどれか一つでも0を指定すると,rapリスナーが存在するノードのOpenTP1システムを終了させようとしてもrapリスナーが終了できないため,常駐SPPが終了するまで無限に待ち続けます。

2.および3.の指定を省略した場合,1.の指定値が最大待ち時間となります。1.,2.,および3.すべての指定を省略した場合は,180秒が仮定されます。

[最大応答待ち時間(T)]  〜<符号なし整数>((0〜65535))(単位:秒)

rapサーバがRPCを代理実行する場合,サービス要求を送信してからサービスの応答が返るまでの最大待ち時間を指定します。

TP1/LiNKの終了処理で,[最大応答待ち時間(T)]で指定した時間だけ終了処理を待ち合わせる場合があります。したがって,大きな値を指定した場合,TP1/LiNKの終了処理に時間が掛かるときがあります。

指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。0を指定した場合は,応答を受信するまで待ち続けます。また,0を指定した場合,TP1/LiNKが終了しないときがあります。

[最大応答待ち時間(T)]は,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通のデフォルト値で使用してください。

特別なチューニングを必要とする場合以外は,[最大応答待ち時間(T)]の内容を変更しないことをお勧めします。

[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通のデフォルト値よりも,極端に小さな値または大きな値を指定すると,TP1/LiNKがダウンに至る障害が発生する場合がありますので,ご注意ください。

[最大応答待ち時間(T)]の指定を省略した場合,[システム環境設定]−[RPC詳細設定]ダイアログボックスで設定したシステム共通の値が仮定されます。ただし,rapクライアント側で最大応答待ち時間を引き継ぐ設定にした場合は,rapクライアント側で設定した値が有効になります。

(4) [その他]タブに設定する項目

[図データ]

[UAPトレース格納最大数(K)]  〜<符号なし整数>((0〜4095))《32》

このrapリスナーまたはrapサーバで取得できるUAPトレースのレコード数を指定します。

1レコードのサイズは256バイトです。0を指定した場合は,UAPトレースを取得しません。

[RPCトレースを取得するファイルの容量(J)]  〜<符号なし整数>((1024〜2147483647))(単位:バイト)

このrapリスナーまたはrapサーバでRPCトレースを取得する場合,RPCトレースを取得するファイルの容量を指定します。

指定を省略した場合,[システム環境設定]ウィンドウで設定したシステム共通の値が仮定されます。

なお,RPCトレースファイル容量よりも,はるかに大きい電文が送受信された場合,編集時に何も出力しなかったり,出力情報にRPCトレースの抜け落ちが発生したりします。

また,RPCトレースを取得した場合,処理スピードが遅くなることが原因となって,RPCがタイムアウトでエラーリターンすることがあります。この場合,[RPC詳細設定]ダイアログボックスのシステム共通の最大応答待ち時間に十分な値を指定してください。

[リカバリ要求用待機rapサーバ数(R)]  〜<符号なし整数>(([RAPサービスのプロセス数]欄[常駐(R)]の指定値-1))《0》

アプリケーションサーバからのXARトランザクションリカバリ要求用待機rapサーバ数を指定します。[RAPサービス環境設定]ダイアログボックスの[RAPサービスのプロセス数]欄の[常駐(R)]で指定した値より小さい値を指定してください。

[rapリスナー終了時のコネクション切断待ち時間(T)]  〜<符号なし整数>((0〜3600))《0》(単位:秒)

rapリスナー終了時のrapクライアントとのコネクション切断待ち時間を指定します。rapリスナー終了時,[rapリスナー終了時のコネクション切断待ち時間(T)]に指定した時間が経過した場合,コネクションを切断してKFCA27763-W,またはFCA27765-Wメッセージを出力します。ただし,rapサーバがAPIを代理実行中は,コネクションを切断しません。[rapリスナー終了時のコネクション切断待ち時間(T)]を省略または0を指定した場合,rapクライアントからコネクション切断要求が到着するか,または問い合わせ間隔最大待ち時間が満了するまで,コネクションを切断しません。

[rapリスナー終了時のコネクション切断待ち時間(T)]には,システム終了監視時間(3600秒)の値より小さい値を指定することをお勧めします。

次の場合,rapリスナーの終了待ちが原因で,dcstopコマンドがタイムアウトすることがあります。

  • [rapリスナー終了時のコネクション切断待ち時間(T)]にシステム終了監視時間(3600秒)の値より大きい値を指定した場合

  • [rapリスナー終了時のコネクション切断待ち時間(T)]に0を指定した場合

  • [rapリスナー終了時のコネクション切断待ち時間(T)]を省略した場合

なお,rapリスナーは3秒ごとにイベントを監視しているため,この待ち時間には最大で3秒の誤差が発生することがあります。

[rapサーバ割り当て待ち要求の滞留監視時間(S)]  〜<符号なし整数>((0〜65535))《30》(単位:秒)

rapクライアントの要求が滞留した場合の監視時間を指定します。rapクライアントの要求を実行するための空きrapサーバがないとき,要求はrapサーバが空くのを待ちます。この割り当て待ち要求の滞留時間が[rapサーバ割り当て待ち要求の滞留監視時間(S)]の指定値を超えた場合,KFCA27764-Wメッセージを出力します。[rapサーバ割り当て待ち要求の滞留監視時間(S)]に0を指定した場合は,滞留時間を監視しません。

[rapサーバ割り当て待ち要求の滞留監視時間(S)]には,rapクライアント側で指定する最大応答待ち時間より小さい値を指定することをお勧めします。[rapサーバ割り当て待ち要求の滞留監視時間(S)]にrapクライアント側の最大応答待ち時間より大きい値を指定した場合,クライアント側がすでにタイムアウトと判断した要求に対しても,KFCA27764-Wメッセージを出力することがあります。

なお,rapリスナーは3秒ごとにイベントを監視しているため,この監視時間には最大で3秒の誤差が発生することがあります。

[滞留警告メッセージの出力間隔(W)]  〜<符号なし整数>((3〜65535))《180》(単位:秒)

rapクライアントの要求が滞留した場合に,KFCA27764-Wメッセージが出力される間隔を指定します。KFCA27764-Wメッセージが一度出力されたあと,この指定値を経過するまでの間,KFCA27764-Wメッセージは出力されません。[rapサーバ割り当て待ち要求の滞留監視時間(S)]に0を指定した場合,この指定値は無視されます。

なお,rapリスナーは3秒ごとにイベントを監視しているため,この監視時間には最大で3秒の誤差が発生することがあります。