まず、PHP-FPM がどのように実行されるかに焦点を当てましょう。
static :表示在 `php-fpm` 运行时直接 `fork` 出 `pm.max_chindren` 个子进程, dynamic:表示,运行时 `fork` 出 `start_servers` 个进程,随着负载的情况,动态的调整,最多不超过 `max_children` 个进程。
通常、静的を使用することをお勧めします。
利点は、負荷状況を動的に判断してパフォーマンスを向上させる必要がないことです。
欠点は、より多くのシステム メモリ リソースを消費することです。
PHP-FPM の子プロセスの数は、多ければ多いほど良いのでしょうか?
もちろんそうではありません、pm.max_chindren。プロセスが多すぎるため、プロセス管理とコンテキスト切り替えのコストが増加します。さらに重要なのは、同時に実行できる php-fpm プロセスの数が CPU の数を超えないことです。
設定方法はコードによって異なります
コードが CPU を集中的に使用する場合、pm.max_chindren は CPU のコア数を超えることはできません。そうでない場合は、pm.max_chindren の値を CPU のコア数より大きく設定することが非常に賢明です。
式:
N 20% と M / m の間。
パラメータの説明:
N は CPU コアの数です。
M は、PHP が使用できるメモリの量です。
m は、各 PHP プロセスによって使用される平均メモリ量です。
動的モードに適しています。
静的メソッド: M / (m * 1.2)
もちろん、max_children を構成する安全な方法もあります。静的モードに適用されます。
1. まず、max_childnren を比較的大きな値に設定します。
2. 一定期間安定して実行した後、php-fpm のステータスでアクティブな最大プロセス数を確認します。
3. 次に、max_children を実際よりも大きく設定します。
pm.max_requests
: 各子プロセスが処理後に再起動するリクエストの数を指します。このパラメータは理論的には任意に設定できますが、メモリ リークのリスクを防ぐために、適切な数値を設定することをお勧めします。
推奨ビデオ チュートリアル: PHP ビデオ チュートリアル
以上がphp は通常いくつのプロセスを開きますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。