23.4.4 ポート数不足を回避する方法
次に示すような運用をする場合,大量のTCPポートがTIME_WAIT状態となり,システム全体のTCPポートが不足し,トランザクションがエラーとなったり,HiRDBが異常終了したりすることがあります。
-
ユティリティ及びコマンドを連続実行する場合
-
UAPの同時接続数が多く,そのUAPがトランザクションの実行を繰り返す場合
このような運用をする場合,次に示す設定を行い,TCPポートが不足しないようにしてください。
なお,ここで説明するWindowsレジストリや設定値は,使用しているWindowsのバージョンによって異なる場合があります。使用しているWindowsのマニュアルを参照し,ここで説明している指定値の目安で示した値を設定してください。
(1) TCPポートの枯渇を回避する設定
pd_registered_portオペランドでHiRDBが通信処理で使用するポート番号の範囲を拡大(HiRDB予約ポート機能)するとTCPポートの枯渇を回避できます。HiRDB予約ポート機能については,「HiRDB予約ポート機能」を参照してください。
(2) TCPポートをTIME_WAIT状態に保つ時間を短くする設定
TCPポートをTIME_WAIT状態に保つ時間を短くするには,次に示すWindowsレジストリの設定値を指定してください。
-
レジストリキー:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-
レジストリ値:
TcpTimedWaitDelay
-
指定値の目安:
30
(3) TCPポートのOS自動割り当てポートの範囲を拡大する設定
TCPポートのOS自動割り当てポートの範囲を拡大するには,次に示すコマンドを実行して設定値を変更してください。
-
実行コマンド:
netsh int ipv4 set dynamic tcp start=数値 num=範囲
-
指定値の目安:
サーバマシン内で使用する予約ポートと重複しない範囲で,OS自動割り当てポートの範囲を拡大してください。