21.4.4 ポート数不足を回避する方法
次に示すような運用をする場合,大量のTCPポートがTIME_WAIT状態となり,システム全体のTCPポートが不足し,トランザクションがエラーとなったり,HiRDBが異常終了したりすることがあります。
-
ユティリティ及びコマンドを連続実行するとき(HiRDB/パラレルサーバの場合)
-
UAPの同時接続数が多く,そのUAPが次のどれかに該当するトランザクションの実行を繰り返すとき(HiRDB/パラレルサーバの場合)
-
複数の表を操作するSQLを実行するトランザクション
-
フロータブルサーバを使用するトランザクション
-
回復不要FESを使用する更新トランザクション
-
このような運用をする場合,次に示す設定を行い,TCPポートが不足しないようにしてください。
なお,ここで説明するオペレーティングシステムパラメタや設定方法は,使用しているOSのバージョン,及びカーネルのバージョンごとに異なります。使用しているOSのマニュアルを参照し,ここで説明している指定値の目安で示した値を該当するオペレーティングシステムパラメタに設定してください。
- 〈この項の構成〉
(1) TCPポートの枯渇を回避する設定
pd_registered_portオペランドでHiRDBが通信処理で使用するポート番号の範囲を拡大(HiRDB予約ポート機能)するとTCPポートの枯渇を回避できます。HiRDB予約ポート機能については,「HiRDB予約ポート機能」を参照してください。
(2) TCPポートをTIME_WAIT状態に保つ時間を短くする設定(AIX又はHP-UX限定)
TCPポートをTIME_WAIT状態に保つ時間を短くするには,次に示すオペレーティングシステムパラメタを指定してください。
- ●AIXの場合
-
-
オペレーティングシステムパラメタ:tcp_timewait
-
指定値の目安:1
-
パラメタ設定コマンドの例:noコマンド
-
- ●HP-UXの場合
-
-
オペレーティングシステムパラメタ:tcp_time_wait_interval
-
指定値の目安:15000
-
パラメタ設定コマンドの例:nddコマンド
-
(3) TCPポートのOS自動割り当てポートの範囲を拡大する設定
TCPポートのOS自動割り当てポートの範囲を拡大するには,次に示すオペレーティングシステムパラメタを指定してください。
- ●Linuxの場合
-
-
オペレーティングシステムパラメタ:ip_local_port_range
-
指定値の目安:サーバマシン内で使用する予約ポートと重複しない範囲で,OS自動割り当てポートの範囲を拡大してください。
-
オプション設定ファイルの例:/proc/sys/net/ipv4/ip_local_port_range
-
- ●AIXの場合
-
-
オペレーティングシステムパラメタ:tcp_ephemeral_high及びtcp_ephemeral_low
-
指定値の目安:サーバマシン内で使用する予約ポートと重複しない範囲で,OS自動割り当てポートの範囲を拡大してください。
-
パラメタ設定コマンドの例:noコマンド
-
- ●HP-UXの場合
-
-
オペレーティングシステムパラメタ:tcp_largest_anon_port及びtcp_smallest_anon_port
-
指定値の目安:サーバマシン内で使用する予約ポートと重複しない範囲で,OS自動割り当てポートの範囲を拡大してください。
-
パラメタ設定コマンドの例:nddコマンド
-