netstatとかで見たときの、CLOSE_WAITっていつなくなるんですかー
とか思ったので、少し調べてました。


参考にしたのは
CLOSE_WAITの状態が続くとどうなるか
TCPのキープアライブ時のプローブについて
こちらです。今のところ鵜呑みです。



個人的な理解に基づいて抜粋すると
・CLOSE_WAITは tcp_keepalive_time 秒後に(デフォルトは2時間)、接続が有効かどうかを確認する(keep-aliveプローブを送信)。
・keep-aliveプローブではtcp_keepalive_probesに指定したデフォルト9回の無通信のTCPセッションに対して定期的に検査を行う。
・その間隔はtcp_keepalive_intvlで指定する(デフォルト75秒)。



ですので、こちらに書かれているように、
9回x75秒=675秒(約11分)


経過し相手から反応が無ければ接続を切る、という動作になりそう。



っていうのも、Thrift使うときに定期的に接続作るんじゃなくて、最初に接続を一定数
(たとえば100本とか)作っておきたいんだけど、相手が落ちてる時とかその接続破棄したい、
とか思って、そんな感じのコードを動かしているんですけど、なかなかCLOSE_WAITって
消えてなくならない・・・よね、とか思ったので。



・・・もう少し人にわかりやすく書けたらいいんですけど。
っていうかわからないことだらけですね。ホント3年目ですとか言えないです。
もっと幅広く、繋がりあって有益な知識とかノウハウをためないとしんどいっす。

すみませんでした。