11

HTTPプロトコルのキープアライブ接続機能は、WebサーバーへのTCP接続ヒットを減らすことを目的としています。Webサーバーのパフォーマンスを向上させることができるはずです。ただし、一部のWebサーバーは、サーバー側からキープアライブ機能を意図的に無効にしていることがわかりました。

私の理解では、一部のリバースプロキシ、つまりHAProxyは、特定の状況でCPU使用率よりも重要なメモリ使用量を減らすために、HTTPキープアライブを無効にします。

WebサーバーがKeep-Aliveを無効にする他の理由はありますか?

4

1 に答える 1

9

実際には、Keep-Alive は、サーバーのパフォーマンスではなく、HTTP のパフォーマンスを向上させることを目的としています (ただし、SSL 接続の場合は、暗号化を再ネゴシエートするサーバーのコストを削減します)。大きな利点は、ブラウザーがコンテンツを取得するために行わなければならない往復回数にあります。ブラウザを使用Keep-Aliveすると、最初のリクエスト以降のすべてのリクエストで完全な往復をなくすことができるため、通常、ページ全体のロード時間が半分に短縮されます。

Keep-Aliveサーバーの負荷が増加するため、一部の共有ホスティング プロバイダーはそれを無効にします。開いている各接続はメモリとファイル記述子 (Linux) を消費し、極端な場合 (一部の Apache 構成) には、接続からプロセスへの 1:1 のマッピングがある場合があります。

于 2012-08-03T18:29:32.317 に答える