[pgsql-jp: 38501] Re: 切断後もTCPコネクションが残り続ける

宮林 修一 miya @ f-logic.jp
2007年 6月 17日 (日) 18:14:03 JST


宮林です。

> 根本的な解決ではありませんが
> レジストリの変更でWAIT時間を減らしたり、
> ユーザポートとして使えるポート番号を増やしたりする事が出来ます
> (レジストリの変更は自己責任でお願いします)
>
> http://support.microsoft.com/kb/328476/ja
>
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
> ・TcpTimedWaitDelay (規定値はWindows2000では初期値240秒、XP 2003Serverでは120秒)
> ・MaxUserPort       (規定値は5000 1024〜5000ポートがユーザポートとして利用可能)
なるほど、MaxUserPortの制限で、接続数が3000〜4000位でそれ以上接続できなくなったわけですね。
ためしにMaxUserPortの制限をMAX(35534)に設定してみると接続数が20000を超えても
障害は発生しませんでした。(35534を超えると再現すると思いますが…)

TcpTimedWaitDelayの方はCLOSE_WAITのタイムアウト時間には効果がありませんでした。
どうもTIME_WAITのタイムアウト時間しか減らせないようです。

問題の所在がはっきりしたので、適切な対処ができそうです。
ありがとうございました。



pgsql-jp メーリングリストの案内