サーバーへの短時間の接続を多数行うクライアントがあると仮定しましょう。
TIME_WAIT
クライアントが接続を閉じると、クライアント側で多くのポートが状態になります。クライアントがローカル ポートを使い果たすため、すぐに新しい接続を試みることができなくなります。
サーバーが接続を閉じるとTIME_WAIT
、サーバー側に多くの が表示されます。しかし、これは何か害がありますか?クライアント (または他のクライアント) は、ローカル ポートが不足することはなくTIME_WAIT
、サーバー側で状態の数が増えるため、接続を試行し続けることができます。最終的にはどうなりますか?何か悪いことが起こりますか?(スローダウン、クラッシュ、接続の切断など)
TIME_WAIT
私の質問は「目的は何ですか?」ではないことに注意してください。しかし、「サーバー上に非常に多くの状態がある場合はどうTIME_WAIT
なりますか?」TIME_WAIT
TCP/IP で接続が閉じられたときに何が起こるか、および状態が必要な理由は既に知っています。トラブルシューティングを行うつもりはありませんが、潜在的な問題を知りたいだけです。
簡単に言えば、netstat -nat | grep :8080 | grep TIME_WAIT | wc -l
printとしましょう100000
。何が起こるでしょうか?OS のネットワーク スタックは遅くなりませんか? 「開いているファイルが多すぎます」エラー?それとも、何も心配する必要はありませんか?