web-dev-qa-db-ja.com

Apache mod_statusは、Apache構成の調整に関する洞察を提供しますか?

Apache mod_statusの出力は、Apache prefork構成の調整に関する洞察を提供しますか?

たとえば、Apacheのmod_statusを使用して、私はそれを理解しました

  • 私のサーバーは平均3リクエスト/秒、範囲は2-10リクエスト/秒、1スパイクは28リクエスト/秒でした。
  • 私のサーバーには現在処理中の平均リクエストが7つあり、範囲は1〜86です。
  • 私のサーバーには平均10人のアイドルワーカーがいて、範囲は0〜99です。

これにより、Apacheプリフォーク設定がどうあるべきか(特に、MinSpareServers、MaxSpareServers、MaxClients、およびMaxRequestsPerChild)についての洞察が得られますか?それとも、このデータは無関係ですか?

1
runningonplants

MaxClientsが通常のピークよりも快適に設定されていることを確認する必要があります(これは、あなたの場合は10のように聞こえますが、一度は86までのバーストが見られたので、万が一の場合に備えて150を確保してください。より大きなバースト)。これにより、接続が不足してユーザーに速度が低下した場合でも、接続が不足することはありません。サーバー上に、設定したMaxClients値をサポートするのに十分なRAMがあることを確認してください(全負荷時に必要なRAM = RAM Apacheプロセスごとに使用)に最大クライアント)。

RAMを拘束してもかまわない場合は、MinSpareServersを通常のピークに等しい数に増やすことで、より多くのリクエストが着信したときにサーバーをフォーク(作成)する必要がないように、Apacheにさらに多くのサーバーを実行し続けるように指示できます。 (またはそれに近い場所)。また、RAMを拘束してもかまわない場合は、MaxSpareServersをMaxClientsと同じに設定し、Apacheにそれらの余分なスペアを保持するのが良いかどうかを判断させることができます。それらが維持されることの副作用は、パフォーマンスの向上になります。注意点として、RAMが必要ないと思われる場合でも、オペレーティングシステムは未使用のRAMを使用して、キャッシュなどを実行することでパフォーマンスを向上させるため、次の点を考慮する必要があります。 RAMを拘束します。

MaxRequestsPerChildはパフォーマンスの問題ではなく、偶発的なメモリリークなどを防ぐのに役立ちます( http://httpd.Apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild を参照)。 )。

2
sa289