ホームページ  >  記事  >  php教程  >  Apache パフォーマンスの最適化 (5)

Apache パフォーマンスの最適化 (5)

黄舟
黄舟オリジナル
2016-12-21 11:27:361245ブラウズ

以下はワーカーのデフォルト設定セクションです:

StartServers 2

MaxClients 150 //すべての子プロセスのスレッドの合計数を設定します。既存の子プロセスのスレッドの総数が負荷を満たせない場合、制御プロセスは新しい子プロセスを生成します。

MinSpareThreads 25 //アイドル スレッドの最小数が設定されます。

MaxSpareThreads 75 //アイドル スレッドの最大数が設定されます。MinSpareThreads と MaxSpareThreads の最大のデフォルト値は、それぞれ 75 と 250 です。ここではこれ以上の定義はしないでください。

ThreadsPerChild 25

MaxRequestsPerChild 0 //これはワーカー MPM のパフォーマンスに最も密接に関連するディレクティブです。 ThreadsPerChild の最大デフォルト値は 64 です。負荷が大きい場合、64 では十分ではありません。現時点では、ThreadLimit 命令を明示的に使用する必要があります。その最大デフォルト値は 20,000 です。上記の 2 つの値は、ソース ツリーの server/mpm/worker/worker.c の次の 2 行にあります:

#define DEFAULT_THREAD_LIMIT 64

#define MAX_THREAD_LIMIT 20000
これらの 2 行は、ThreadsPerChild および ThreadsPerChild の制限に対応します。スレッド制限。設定する前に、64 を目的の値に変更することをお勧めします。これら 2 つの値を設定しすぎてシステムの処理能力を超えないよう注意してください。Apache が起動しないため、システムが不安定になります。

ワーカー モードで同時に処理できるリクエストの合計数は、子プロセスの合計数に ThreadsPerChild 値を乗算して決定されます。この値は MaxClients 以上である必要があります。負荷が非常に大きく、既存の子プロセスの数を満たせない場合、制御プロセスは新しい子プロセスを生成します。子プロセスのデフォルトの最大合計数は 16 です。数を増やす場合は、ServerLimit を明示的に宣言する必要があります (最大値は 20000)。これら 2 つの値は、ソース ツリーの server/mpm/worker/worker.c の次の 2 行にあります:
#define DEFAULT_SERVER_LIMIT 16
#define MAX_SERVER_LIMIT 20000

ServerLimit が明示的に宣言されている場合、 ThreadsPerChild の値は MaxClients 以上である必要があり、MaxClients は ThreadsPerChild の整数倍でなければなりません。そうでない場合、Apache は対応する値 (予期しない値である可能性があります) に自動的に調整されます。

上記は Apache パフォーマンスの最適化 (5) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。