web-dev-qa-db-fra.com

Le serveur Php-Fpm 7 a atteint pm.max_children

Je reçois ce message d'erreur lorsque j'exécute un travail intensif dans Wordpress:

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

Utilisation de Php-fpm 7 + Nginx sur 2 Go RAM Server.

Quand je cours:

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

J'ai essayé de suivre ce tutoriel pour déterminer les paramètres corrects dont j'ai besoin. http://bit.ly/2edUbir

Je ne peux pas exécuter cette commande car elle n'est pas prise en charge par Php-fpm 7 apparemment.

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

Pour ajuster les paramètres, vous devrez trouver votre php-fpm.conf ou www.conf en fonction de la version de PHP-FPM que vous avez installée. Dans mon cas, j'ai dû éditer /etc/php/7.0/fpm/pool.d/www.conf . Vous souhaiterez rechercher les paramètres suivants et effectuer des ajustements en fonction des spécifications de votre serveur:

[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

Pour avoir une idée de ce qu'il faut utiliser pour les pm.max_children, vous pouvez utiliser ce calcul: pm.max_children = Total RAM dédié au serveur Web/taille maximale du processus enfant. N'oubliez pas de laisser quelques RAM pour les services supplémentaires que vous avez en cours d'exécution sur votre système.

Selon le nom de votre service, vous pouvez essayer l'une des options suivantes:

Sudo systemctl restart php-fpm

Sudo systemctl restart php7.0-fpm

la commande suivante nous aidera à déterminer la mémoire utilisée par chaque processus enfant (PHP-FPM):

ps -ylC php-fpm --sort:rss

Vous pouvez vérifier une utilisation moyenne de la mémoire par un seul processus PHP-FPM avec cette commande pratique:

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

Pour plus de détails, lire les liens ci-dessous lire la suite 1lire la suite 2

12
Nanhe Kumar

Cette commande est prise en charge par Php-Fpm 7. Utilisez cette ps -ylC php-fpm7.0 --sort:rss

4
David Mooch

Pour php 7.3, utilisez cette commande:

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