web-dev-qa-db-ja.com

PHP-FPM 7サーバーがpm.max_childrenに達しました

Wordpressで集中的なジョブを実行すると、次のエラーメッセージが表示されます。

[pool www] server reached pm.max_children setting (5), consider raising it

2GBでPhp-fpm 7 + Nginxを使用するRAMサーバー。

私が走ると:

ps aux | grep fpm

root      1508  0.0  1.5 367260 31380 ?        Ss   Nov05   0:11 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 10231  0.0  2.7 453420 55540 ?        S    15:10   0:03 php-fpm: pool www
www-data 13266  0.0  2.4 449892 50900 ?        S    22:13   0:00 php-fpm: pool www
www-data 13572  0.0  1.8 372468 37740 ?        S    23:14   0:00 php-fpm: pool www
user+ 13721  0.0  0.0  14512   980 pts/0    R+   23:30   0:00 grep --color=auto fpm

このチュートリアルに従って、必要な正しい設定を決定しようとしました。 http://bit.ly/2edUbir

このコマンドは、Php-fpm 7でサポートされていないため、実行できません。

ps -ylC php-fpm --sort:rss
7
Joanna Mikalai

設定を調整するには、インストールされているPHP-FPMのバージョンに応じて、php-fpm.confまたはwww.confを見つける必要があります。私の場合、/ etc/php/7.0/fpm/pool.d/www.confを編集する必要がありました。次の設定を探し、サーバーの仕様に基づいて調整する必要があります。

[php-fpm-pool-settings]
pm = dynamic
pm.max_children = 25
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

pm.max_childrenに何を使用するかを理解するには、次の計算を使用できます:pm.max_children = Total RAM Webサーバー専用/最大の子プロセスサイズ。システムで実行している追加のサービスのために、いくつかのRAM=を残すことを忘れないでください。

サービスの名前に応じて、次のいずれかを試すことができます。

Sudo systemctl restart php-fpm

Sudo systemctl restart php7.0-fpm

次のコマンドは、各(PHP-FPM)子プロセスによって使用されるメモリを特定するのに役立ちます。

ps -ylC php-fpm --sort:rss

次の便利なコマンドで、単一のPHP-FPMプロセスによる平均メモリ使用量を確認できます。

ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'

詳細については、以下のリンクをお読みください 続きを読む1続きを読む2

12
Nanhe Kumar

このコマンドはPhp-Fpm 7でサポートされています。これを使用してくださいps -ylC php-fpm7.0 --sort:rss

4
David Mooch

PHP 7.3の場合は、次のコマンドを使用します。

ps -ylC php-fpm7.3 --sort:rss
2
Jimbo