Comment calculer le paramètre pm.max_children?
Vérifiez la quantité de mémoire utilisée par le processus moyen, pour pouvoir calculer combien de processus nous pouvons exécuter avec la RAM disponible sur notre serveur.
$ ps -ef | grep '[f]'pm //Results on this machine : root 4073 1 0 Sep19 ? 00:02:02 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) www-data 24905 4073 1 18:14 ? 00:00:29 php-fpm: pool www www-data 25056 4073 1 18:30 ? 00:00:11 php-fpm: pool www www-data 25125 4073 1 18:32 ? 00:00:09 php-fpm: pool www
Vérifiez la mémoire requise pour ces processus:
$ ps -C php-fpm7.4 -o rss= //Results on this machine : 21080 92892 91272 90816
Généralement, la première ligne de cette liste montre le processus maître, qui dans ce cas exécute PHP, et les résultats suivants montrent les ressources que chaque processus enfant utilise. Ces nombres sont en kilo-octets, donc dans cet exemple, J'ignorerais le premier processus et le premier tour pour établir une moyenne de 100 Mo de mémoire physique par processus enfant.
[RAM disponible total] - [RAM reservada] - [10% de búfer] = [RAM disponible para PHP] [RAM disponible para PHP] / [Tamaño medio del proceso] = [max_children]
pm.max_children = [max_children] pm.start_servers = [25% de max_children] pm.min_spare_servers = [25% de max_children] pm.max_spare_servers = [75% de max_children]
Calculatrice
https://spot13.com/pmcalculator/