web-dev-qa-db-ja.com

TIME_WAIT情報(削減)

3秒ごとにリクエストを行うajaxアプリケーションがあり、リクエストされたページはヘッダーを(header( "Connection:Keep-Alive、close");)に設定し、データベースクエリを実行して最新のデータを返します。

TIME_WAITの値は60秒なので、要求されたページで接続を閉じるのが難しい場合でも(つまり、「接続:キープアライブ、閉じる」)、接続は次の60秒間存在するように見えます(これはすべてのAjax要求で発生します)私が作成したもの)なので、1分間に20のリクエストが行われ、そのIPの合計TIME_WAITは約20のようです。

TIME_WAITをたとえば15秒に短縮して、全体的なTIME_WAITSを短縮することは可能ですか、それともAjaxリクエストごとに接続を強制的に閉じることは可能ですか?

どんな助けでもありがたいです

ありがとう

2
Akash

Net.ipv4.tcp_fin_timeoutカーネルパラメーターを使用できます。

# sysctl net.ipv4.tcp_fin_timeout=15

/etc/sysctl.confを編集し、最後に追加します

net.ipv4.tcp_fin_timeout = 15

次に実行します:

# sysctl -p
2
ooshro

Connection: keep-alive, closeは有効なHTTP1.1ではありません。1つだけconnection-tokenが許可されているため、このヘッダーは無視され、キープアライブはアクティブであると予想されます。 HTTP 1.0では、「接続」タグはまったく異なるものを意味します。

接続が「リサイクル」されているかどうかにかかわらず、技術的な違いはないはずです。その選択はブラウザに任せてください。 FINタイムアウトで遊ぶことは、ほとんど決して良い考えではありません。

1
Simon Richter