エキサイトブログ
|
検索
Developer @ ADJUST
ASP.NET スレッドプール枯渇の再現(3) - ソケットが先に枯渇
▼
ASP.NET スレッドプール枯渇の再現(2)
の続き。
前回までで、自家製テスト用クライアントや、IEの同時接続数を増やすことができ、同時間帯の多数の Web 要求を送信できる環境がだいぶん整った。
ということで調子にのってガンガン要求送信を試していたら、またまたエラーが。
いろいろ試行錯誤しているうちに、netstat コマンドで TCP ソケットの状況を確認したところ、相当数の "TIME_WAIT" のままの TCP 接続が残っていることがわかった。
TIME_WAIT?
なんじゃらほいと Google 検索であちこち調べ歩く内に、下記ページを発見。
Windowsにおけるソケットの最大値とTIME_WAITの時間を修正しよう
http://nosa.cocolog-nifty.com/sanonosa/2006/04/windowstime_wai_00d2.html
[外部リンク]
Windows の既定では TCP 接続が閉じられて TIME_WAIT になっている期間は 4 分とのことだそうだ。4分経過するまでこのポートは使えなくなるので、もしかするとこのことが原因で使用可能なポートが枯渇してしまったのかもしれない。
どの程度の値が最適値なのかわからなかったが、とりあえず、TIME_WAITの時間を30秒に変更したところ、エラーはでなくなり、安定してテストができるようになった。
ソケットの最大数を増やす方法もあったのだろうが、とりあえずテストが安定しだしたので、これでよしとしてみる。
ということで、いよいよ ASP.NET スレッドプール枯渇による Server too busy の再現になるかとおもいきや、これまたなかなか再現にはこぎ着けられなかった(つづく...)。
by developer-adjust
(2008/08/16 12:42)
.NET
タグ=
ASP.NET
,
スレッドプール
コメント0件
トラックバック0件
(*)前へ
次へ(#)
コメントする
リンクする
特集
ゆるキャラデコメ特集
今流行のゆるキャラ満載!
Developer @ ADJUST
ログイン
エキサイトブログトップ
エキサイトモバイル
ヘルプ
上へ
(C)Excite Japan