なんかスラドにあげられてしまったので、備忘録てきにちょっとまとめますかね。
きっかけは先月帰国したときに sonots がDeNAをはじめとして、Web企業では広く TCP_TIMEWAIT_LEN を変更してカーネルをリコンパイルして使っているという話を聞いたというもの。以下の様な議論を twitterで行い
Togetter: Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?: http://togetter.com/li/871768
以下のように、スラドに転載されてしまったわけだ。
スラド: Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?: http://linux.srad.jp/story/15/09/09/0648258/
いつものように、スラド民は元のスレッドなんかまるで読んでいないので、結論だけ書く。
tcp_tw_interval という TIME-WAIT を変更するsysctlが3年ほど前にupstreamで提案されたが却下されている。
http://thread.gmane.org/gmane.linux.network/244411/
その時の議論の抜粋
・AIXではtcp_timewait というパラメタで、HP-UXでは tcp_time_wait_interval というパラメタで同種の機能(TIME-WAIT変更)がサポートされている。Solarisにも同種の機能あり
・tcp_tw_reuse や tcp_tw_recycle がすでにあるのは知ってるが、NATでうまくいかない時もあるじゃないか
・SO_REUSEADDR使え
・tcp_tw_reuse 使え
・tcp_max_tw_buckets 使え
・early time-wait reuse は validだけど、TIME-WAITを短くするのはたんに危険なだけで意味がない
まだまだ知見を募集中なので、ユースケースとか意見とかありましたら教えて下さい
きっかけは先月帰国したときに sonots がDeNAをはじめとして、Web企業では広く TCP_TIMEWAIT_LEN を変更してカーネルをリコンパイルして使っているという話を聞いたというもの。以下の様な議論を twitterで行い
Togetter: Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?: http://togetter.com/li/871768
以下のように、スラドに転載されてしまったわけだ。
スラド: Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?: http://linux.srad.jp/story/15/09/09/0648258/
いつものように、スラド民は元のスレッドなんかまるで読んでいないので、結論だけ書く。
tcp_tw_interval という TIME-WAIT を変更するsysctlが3年ほど前にupstreamで提案されたが却下されている。
http://thread.gmane.org/gmane.linux.network/244411/
その時の議論の抜粋
・AIXではtcp_timewait というパラメタで、HP-UXでは tcp_time_wait_interval というパラメタで同種の機能(TIME-WAIT変更)がサポートされている。Solarisにも同種の機能あり
・tcp_tw_reuse や tcp_tw_recycle がすでにあるのは知ってるが、NATでうまくいかない時もあるじゃないか
・SO_REUSEADDR使え
・tcp_tw_reuse 使え
・tcp_max_tw_buckets 使え
・early time-wait reuse は validだけど、TIME-WAITを短くするのはたんに危険なだけで意味がない
まだまだ知見を募集中なので、ユースケースとか意見とかありましたら教えて下さい
- 関連記事
-
- THPの記事にちょっと追記した (2015/09/10)
- Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味? の件について (2015/09/09)
- transparent hugepage considered harmful (2015/09/02)