webサーバのチューニングのポイントをまとめておきます。
ソケットの開放が追い付かなくなって
ポートを使いきってしまいます。
⇒特にKeep Alive OFFのwebサーバなど
net.ipv4.tcp_fin_timeout
の値になります。(単位は秒)
オンラインで変更する場合、sysctlを使って調整します。
設定値の表示
# sysctl -w net.ipv4.tcp_tw_reuse=1
# sysctl -w net.ipv4.tcp_tw_recycle=0
↑なんか勘違いしていた可能性があるので修正。現状では大きな問題は起きていないですが、tcp_tw_recycleはNATで問題が起きることがあるようなので最終手段です。
@2008/12/11追記
↑tcp_tw_recycleを1にすると問題が多くて地雷祭りなので、基本0にしておきます。
@2010/10/29追記
いまさらですけど、tcp_fin_timeoutはtime_waitの数と関係ありません(60秒でハードコードされているとのこと)。tcp_fin_timeoutが関係あるのはFIN_WAIT_2の数で、FIN_WAIT_2が多い場合はtcp_fin_timeoutを短くすると改善するかもしれません。
また、起動時に設定されるように
/etc/sysctl.conf
を編集して設定しておきましょう。
参考図書 [Read More]