TIME_WAIT を早めに消す on CentOS


異常にwebの表示が遅くなった時の原因が TIME_WAIT の大量発生だった。PHP だと生じやすいなぁ。

CentOS 4.5 finall にて TIME_WAIT を短くするための方法。

  • 状況</p>
    • web と DB を別サーバでネットワーク経由のデータやりとり
    • DB サーバ側は TIME_WAIT ほとんどなし
    • web(phpで作ったもの) にて TIME_WAIT 多めに残る それでも 150セッションくらいか
  • 確認

# netstat -an | grep -i time_

(状況確認)

# netstat -an | grep -i time_ | wc

(行数として確認)

  • 作業

# cd /proc/sys/net/ipv4/

# more tcp_tw_recycle

# echo ‘1’ > tcp_tw_recycle

特に再起動などいらず即反映される。

重めなページを読み込ませつつ

# netstat -an | grep -i time_ | wc

を定期的に見れば数が減っていく速度が速いことが分かる。