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
設定を調整するには、インストールされている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") }'
このコマンドはPhp-Fpm 7でサポートされています。これを使用してくださいps -ylC php-fpm7.0 --sort:rss
PHP 7.3の場合は、次のコマンドを使用します。
ps -ylC php-fpm7.3 --sort:rss