3秒ごとにリクエストを行うajaxアプリケーションがあり、リクエストされたページはヘッダーを(header( "Connection:Keep-Alive、close");)に設定し、データベースクエリを実行して最新のデータを返します。
TIME_WAITの値は60秒なので、要求されたページで接続を閉じるのが難しい場合でも(つまり、「接続:キープアライブ、閉じる」)、接続は次の60秒間存在するように見えます(これはすべてのAjax要求で発生します)私が作成したもの)なので、1分間に20のリクエストが行われ、そのIPの合計TIME_WAITは約20のようです。
TIME_WAITをたとえば15秒に短縮して、全体的なTIME_WAITSを短縮することは可能ですか、それともAjaxリクエストごとに接続を強制的に閉じることは可能ですか?
どんな助けでもありがたいです
ありがとう
Net.ipv4.tcp_fin_timeoutカーネルパラメーターを使用できます。
# sysctl net.ipv4.tcp_fin_timeout=15
/etc/sysctl.confを編集し、最後に追加します
net.ipv4.tcp_fin_timeout = 15
次に実行します:
# sysctl -p
Connection: keep-alive, close
は有効なHTTP1.1ではありません。1つだけconnection-tokenが許可されているため、このヘッダーは無視され、キープアライブはアクティブであると予想されます。 HTTP 1.0では、「接続」タグはまったく異なるものを意味します。
接続が「リサイクル」されているかどうかにかかわらず、技術的な違いはないはずです。その選択はブラウザに任せてください。 FINタイムアウトで遊ぶことは、ほとんど決して良い考えではありません。