nginx keepalive_timeoutを調整する方法は?


12

忙しいmysqlベースのサイトを提供するために、php-fpmとともにnginxを使用しています。現在、を使用しkeepalive_timeout = 5ていますが、最適な調整方法について明確なアイデアはありません。あなたのヒントに感謝します。

回答:


10

それを行うために何を調整する必要がありますか?

万能の万能の答えはありません。ほとんどのクライアントブラウザーがページ上のすべてのリソースを5秒でロードできる場合、5秒で十分ですが、アプリケーションのニーズに完全に依存します-たとえば、nginxサーバーがExchange ActiveSyncのリバースプロキシとして機能している場合、あなたはそれを30分までずっと回したいでしょう。


さて、サーバーの負荷を最小限に抑えようとしています(ピック時に非常に高くなります)。keepalive_timeoutを最適化すると、この目標に部分的に貢献できると思います。それとは別に、それは健康的な好奇心です:)
alfish

1
確かに-だから、ほとんどのクライアントがページをロードする前にキックオフすることなく、可能な限り低い-ほとんどのクライアントでページが1秒未満でロードされる場合、1秒のタイムアウトで問題ありません。ただし、タイムアウトが5秒よりはるかに長い場合を除き、サーバー負荷の主な原因である可能性は低いです。
シェーンマッデン

それがトリッキーなポイントです。ページの読み込み時間の差(一部は他よりも重い)、訪問者の接続速度などを考慮して、ページの読み込み時間を決定するにはどうすればよいですか
-alfish

ただそれを球場。何らかの方法で負荷が大幅に変化する可能性は低いため、自由に高を見積もることができます-ただし、遅い負荷のクライアントのために、TCP接続の新しいビルド(該当する場合はSSLハンドシェイクでも)全体的な読み込み速度に大きな違いはありません。
シェーンマッデン

1
@ ShaneMadden、5秒は接続の寿命ではなく、サーバーが最大での別のリクエストを待機するタイムアウトのみkeepalive_requestsです。そのため、ブラウザが画像/ CSSのフェッチを開始するまでのHTMLだけで、ページ全体の読み込みにかかる時間は重要ではありません。接続を開いたままにする時間はほぼkeepalive_timeout*keepalive_requests
Marki555 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.