4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TIME_WAITを早く消す方法

Last updated at Posted at 2018-02-08

間違った情報ばかりひっかかるので、訂正用にメモしておく。

忙しいサーバーだとTIME_WAITのコネクションが残りまくって、ポートを使い切ってしまうことがある。

そこでググってみると net.ipv4.tcp_fin_timeout を小さくするというブログがたくさんひっかかるのだけども、これはFIN_WAIT_2からTIME_WAITになるまでの待ち時間の設定なので、TIME_WAITは減りません。

TIME_WAITになってからの待ち時間はソースにハードコードされており、設定では変えることはできません。
変え方は こちら に詳しくのってます。

TIME_WAITになったコネクションを使いまわすようにカーネルパラメーターを設定することでTIME_WAITを減らせます。
※接続元、接続先の両方で下記の設定をする必要あり。 

net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_timestamps=1

 
net.ipv4.tcp_tw_recycleは意味ないし、問題もあるので1にしてはいけない。

それ以外だと、無理やり終了パケットを送って終了させるしかない。※これはまだできるか未確認。

このスライドに詳しいことが書いてあります。

 
間違った情報に振り回される人が減りますように。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?