ホームページ  >  記事  >  バックエンド開発  >  php は通常いくつのプロセスを開きますか?

php は通常いくつのプロセスを開きますか?

王林
王林オリジナル
2019-09-28 11:55:275168ブラウズ

php は通常いくつのプロセスを開きますか?

まず、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 サイトの他の関連記事を参照してください。

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