¿Cómo calcular la configuración de pm.max_children?
Verifica cuánta memoria está usando el proceso promedio, para poder calcular cuántos procesos podemos ejecutar con la RAM disponible en nuestro servidor.
$ 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
Verifica la memoria que se requiere para estos procesos:
$ ps -C php-fpm7.4 -o rss= //Results on this machine : 21080 92892 91272 90816
Generalmente, la primera línea de esta lista muestra el proceso maestro, que en este caso está ejecutando PHP, y los siguientes resultados muestran los recursos que utiliza cada proceso hijo. Estos números están en kilobytes, por lo que en este ejemplo, ignoraría el primer proceso y redondearía para establecer un promedio de 100 MB de memoria física por proceso hijo.
[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]
Calculadora
https://spot13.com/pmcalculator/