Hitachi

Hitachi System Information Capture リファレンス 


3.11.3 RPCコネクション管理に関する定義(rpc_socket)

形式

[rpc_socket [-m "max_socket=最大ソケット数 "]
            [-w "[sockctl_highwater=ソケットの一時クローズ処理開始数パーセンテージ]
                 [sockctl_lowwater=ソケットの一時クローズ処理非対象数パーセンテージ]"]
            [-t "[sockctl_watchtime=一時クローズ応答待ち時間]"]]

機能

RPC・RAPプロトコルのコネクションに関する定義です。

RPC・RAPプロトコルで利用するコネクションの本数や、一時クローズ処理を開始するソケット数のパーセンテージ、一時クローズ処理非対称とするソケット数のパーセンテージを指定します。

一時クローズ処理については、マニュアルOpenTP1 解説の「ポート数の制限方法」の説明を参照してください。

指定数

0〜1

オプション:-m

max_socket
設定値と省略値

〈符号なし整数〉 (32〜32768) 《512》(単位:ソケット数)

説明

RPC・RAPプロトコルで利用するソケットの上限を指定します。

注意事項

・OSで1プロセスで利用できるソケット(ファイルディスクリプタ)数が制限されています。

その制限値以上の値を利用する場合は、OSの上限を変更してください。

スーパーユーザーで、「ulimit -n」と実行して出力された値よりも大きな値nnnnを指定して、「ulimit -n nnnn」を実行すると実行したシェルに対して一時的にオープンファイル数がnnnnに変更されます。

・RAP通信で利用するコネクション本数も、本フラグメンバに含まれます。

・本フラグメンバに適切な値を設定していない場合、一時クローズの待ち合わせ処理が多発し処理速度の低下を引き起こす場合があります。

オプション:-w

sockctl_highwater
設定値と省略値

〈符号なし整数〉(0〜100) 《100》(単位:パーセンテージ)

説明

rpc_socket -m max_socketに対して、ソケットの一時クローズ処理開始数パーセンテージを指定します。

ほかのオペランドとの関連

プロセス内のソケット用に使用しているファイル記述子の数が、次の値を超えた時点で、一時クローズ処理を開始します。

rpc_socket -m max_socketの指定値×(本フラグメンバ値/100)

注意事項

本フラグメンバ値に0を指定した場合、コネクションを確立するたびに一時クローズ処理が実行されます。

sockctl_lowwater
設定値と省略値

〈符号なし整数〉(0〜100)《0》(単位:パーセンテージ)

説明

rpc_socket -m max_socketに対して、ソケットの一時クローズ処理対象外とするパーセンテージを指定します。

対象外となるソケットは、利用時刻が新しい順に選定されます。

ほかのオペランドとの関連

一時クローズ処理が実行された際に、次の値の数だけソケットを残します。

rpc_socket -m max_socketの指定値×(本フラグメンバ値/100)

本フラグメンバ値に、rpc_socket -w sockctl_highwaterの指定値よりも大きい値を設定した場合は、本フラグメンバ値に0が指定されたものとして動作します。

注意事項

本フラグメンバ値に0を指定した場合、一時クローズ処理が実行された際に利用している全てのソケットに対し、一時クローズ処理が実行されます。

オプション:-t

sockctl_watchtime
設定値と省略値

〈符号なし整数〉(0〜65535)《180》(単位:秒)

説明

使用中のソケット数がrpc_socket -m max_socket設定値と同じになった時点から、一時クローズ処理によってソケットが再利用できるようになるまでの時間を秒単位で指定します。

rpc_socket -m max_socket設定値までソケットを使った際の一時クローズ処理では、一時クローズ要求を送信した後、このフラグメンバの設定値だけ応答を待ち合わせます。この待ち時間の間にどのプロセスからも一時クローズの応答が帰ってこなかった場合、システムテスト支援は異常終了となります。

応答待ちは、応答が届き、使用中ソケット数がrpc_socket -m max_socket指定値より小さくなった時点で解除されます。

ほかのオペランドとの関連

使用中のソケット数がrpc_socket -m max_socketを下回るまで、一時クローズ処理応答を指定時間待ち合わせます。

指定値の目安

テスト対象システムのOpenTP1でpolling_control_dataオペランドにYが設定されている場合は、本フラグメンバの指定値を、テスト対象システムのOpenTP1のthread_yield_intervalオペランドの指定値よりも大きな値にしてください。

注意事項

・0を指定した場合は応答が来るまで無限に待ち続けるため、ネットワーク障害などにより電文が受信できなかった場合、処理が止まってしまう可能性があります。このような事態を避けるために、必要な場合以外は有限待ちになる数値を指定することをお勧めします。

・テスト対象システムにサービス要求が長時間発生しない常駐UAPが存在する場合は、テスト対象のTP1でpolling_control_dataオペランドにYを設定してください。常駐UAPの数や、システムテスト支援とUAPの通信が行われない時間の長さによっては、システムテスト支援とテスト対象システムとの一時クローズ機能が十分な効果を発揮できず、システムテスト支援がKFSE60303-Eメッセージを出力し、システムダウンする場合があります。