4.6.6 一時クローズ処理によるコネクション数の調整
OpenTP1とTP1インバウンドアダプタでは,コネクション接続時のオーバーヘッドを削減するために,一度接続したコネクションを切断しないで次回の通信で再利用します。そのため,コネクション管理機能の最大同時接続数の設定よりも多くの接続を受け付けるシステムでは,コネクションの接続数がすぐに最大同時接続数に達してしまいます。
これを防ぐために,コネクションの接続数が一定のしきい値に達したところで未使用のコネクションを切断する機能(一時クローズ処理)を使用します。
一時クローズ処理によってコネクション数を調整することで,コネクションを枯渇させることなく,効率良くコネクションを管理できます。
一時クローズ処理は,OpenTP1側から実行する場合と,TP1インバウンドアダプタ側から実行する場合の2種類があります。どちらの場合も,接続先に一時クローズ処理要求を送信して,接続先から一時クローズ処理応答を受信したタイミングでコネクションを切断します。一時クローズ処理要求の送信と一時クローズ処理の応答の受信は,非同期に処理されます。
なお,OpenTP1とTP1インバウンドアダプタ間のコネクションが一時クローズ処理中であっても,新しいRPC要求を受け付けることができます。また,新たなコネクションを接続することでRPC応答を送信することができるため,一時クローズ処理によってOpenTP1やTP1インバウンドアダプタでの処理がエラーになることはありません。
- 〈この項の構成〉
(1) 一時クローズ処理対象とするコネクション数の指定
処理開始のしきい値には,TP1インバウンドアダプタが一時クローズ処理を開始するコネクション数の割合をパーセンテージで指定します。指定したしきい値に応じて,コネクションの種類ごとに次の条件で一時クローズ処理を開始します。
- RPC受信コネクションの一時クローズ処理開始の条件
-
RPC受信コネクション数 ≧
RPC受信コネクションの最大同時接続数 ×
RPC受信コネクションの一時クローズ処理開始のしきい値 / 100
- RPC送信コネクションの一時クローズ処理開始の条件
-
RPC送信コネクション数 ≧
RPC送信コネクションの最大同時接続数 ×
RPC送信コネクションの一時クローズ処理開始のしきい値 / 100
(2) 一時クローズ処理の対象外とするコネクション数の指定
一時クローズ処理の対象外とするコネクション数の割合をパーセンテージで指定します。
- RPC受信コネクションの一時クローズ処理非対象コネクション数の算出
-
RPC受信コネクションの一時クローズ処理非対象コネクション数=
RPC受信コネクションの最大同時接続数 ×
RPC受信コネクションの一時クローズ処理非対象とするコネクション数の割合/100
- RPC送信コネクションの一時クローズ処理非対象コネクション数の算出
-
RPC送信コネクションの一時クローズ処理非対象コネクション数=
RPC送信コネクションの最大同時接続数 ×
RPC送信コネクションの一時クローズ処理非対象とするコネクション数の割合/100
(3) コネクション数が最大に達した際の一時クローズ処理の応答待ち時間の指定
一時クローズ処理では,コネクションを接続したOpenTP1とTP1インバウンドアダプタ間で,どちらかから一時クローズ処理の要求を送信したあと,その応答を受信してからコネクションを切断します。一時クローズ処理の応答を受信するまでコネクションを切断することはできません。
一時クローズ処理要求後にどのコネクションからも応答が返ってこなければ,コネクション数に空きができないため,新たなコネクションを接続することができなくなります。これを防ぐため,TP1インバウンド連携機能では,一時クローズ応答の待ち時間を指定することで,コネクション数が最大に達してからコネクション数に空きができるまでの時間を監視します。指定した一時クローズ応答の待ち時間を経過してもコネクション数が最大値のままの場合,エラーメッセージを出力してコネクションを切断します。
RPC受信コネクション,および送信コネクションでのコネクション数の監視について説明します。
(a) RPC受信コネクションでのコネクション数の監視
RPC受信コネクションが最大RPC受信コネクション数に達してから,一時クローズ処理によってコネクション数に空きができるまでの時間を監視します。
指定した一時クローズ応答の待ち時間を経過しても,コネクション数が最大RPC受信コネクション数のままの場合は,エラーメッセージ(KDJE58501-E)を出力し,RPC受信コネクションをすべて切断します。
(b) RPC送信コネクションでのコネクション数の監視
RPC受信コネクション同様に,RPC送信コネクションが最大RPC送信コネクション数に達してから,一時クローズ処理によってコネクション数に空きができるまでの時間を監視します。
指定した一時クローズ応答の待ち時間を経過しても,コネクション数が最大RPC送信コネクション数のままの場合は,エラーメッセージ(KDJE58501-E)を出力し,RPC送信コネクションをすべて切断します。
(4) 一時クローズ処理に関する設定
一時クローズ処理に関する設定は,Connector属性ファイルに指定します。指定する項目は次のとおりです。
-
RPC受信コネクションの一時クローズ処理
-
rpc_sockctl_highwaterプロパティ
-
rpc_sockctl_lowwaterプロパティ
-
-
RPC送信コネクションの一時クローズ処理
-
trn_sockctl_highwaterプロパティ
-
trn_sockctl_lowwaterプロパティ
-
-
一時クローズ応答の待ち時間
-
ipc_sockctl_watchtimeプロパティ
-
指定方法の詳細については,「4.12.2 リソースアダプタの設定」を参照してください。