TCP経由でメッセージを受け入れ、内部メッセージングの一部にTCPを使用するアプリケーションを調整しようとしています。負荷テスト中に、システムに対してより多くの同時要求が行われると、応答時間が大幅に低下する(そして完全に停止する)ことに気づきました。この間、多くのTCP接続のTIME_WAIT
ステータスが表示され、誰かがTIME_WAIT
環境変数をデフォルトの60秒から30秒に下げることを提案しました。
私が理解していることから、このTIME_WAIT
設定は基本的に、接続が閉じられた後にTCPリソースがシステムで再び利用可能になる時間を設定します。
私は「ネットワークの男」ではなく、これらのことについてほとんど知りません。そのリンクされた投稿にあるものがたくさん必要ですが、少し「唖然としました」。
TIME_WAIT
値を0に設定できない理由は理解できたと思いますが、安全に5に設定できますか?10はどうですか?この値の「安全な」設定を決定するものは何ですか?- この値のデフォルトが60であるのはなぜですか?私よりずっと賢い人には、これを合理的なデフォルトとして選択する正当な理由があると思います。
- この値を上書きすることの潜在的なリスクと利点について、他に何を知っておく必要がありますか?