TIME_WAITがたくさん
先月、いや先々月くらいからずっと追っかけてる件。ようやく原因らしきものがわかったっぽい。
Apache->Squid->Apache->Apacheと多段プロクシになっているウェブサーバで、二段目のSquidが"TCP_MISS_ABORTED:FIRSTUP_PARENT"を返してくるってことだったんですが、どうにも原因がわかりませんでした。
バックエンドにはリクエストがいっていないので、コネクションを作成することに失敗しているみたい。ってことでnetstatで調査。
# netstat -anp
そうすると、TCP_WAIT状態のものが1万以上。こりゃ異常だってことで対処。
/etc/sysctl.confにこんな記述をいれます。
net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 10
でもってsysctlでカーネルに反映。
# sysctl -p