1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Resolver una carga infinita del sitio (aumentar el valor de max_children)
Esta guía explica cómo aumentar el valor de max_children en Servidor en la Nube para aumentar el número de procesos PHP simultáneos que puede utilizar su sitio. Esto será muy útil para resolver problemas de carga infinita de las páginas de su sitio.
Por defecto, el límite de max_children está fijado en 20. Aunque es posible aumentar este valor desde el Administrador de Infomaniak, el límite de max_children se ajusta automáticamente según la configuración de su Servidor en la Nube.
En el alojamiento compartido, el límite máximo de max_children es de 20. Para aumentar este límite, es necesario migrar a un Servidor en la Nube.
Requisitos previos
- asegurarse de que tiene los recursos necesarios en el Servidor en la Nube
- asegurarse de que no se estén utilizando todos los recursos del Servidor en la Nube; si se encuentran completamente utilizados, el aumento del valor de max_children no tendrá efecto (Modificar los recursos del Servidor en la Nube)
- controlar la supervisión de recursos de su servidor; si se alcanzan los recursos de su servidor, será necesario verificar la optimización de los procesos y de su sitio antes de considerar aumentar el valor de max_children
- consultar los informes de errores de PHP desde la carpeta /ik-logs (registros del proceso maestro PHP - nombre del archivo: php-fpm.log) para verificar si se ha superado el límite "max_children"... ejemplo de error:
[05-Jul-2023 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Límites según el servidor
Límites de max_children según los recursos del Servidor en la Nube:
Configuración del Servidor en la Nube | max_children |
---|---|
2 CPU | 6 GB RAM | 20 |
4 CPU | 12 GB RAM | 40 |
6 CPU | 18 GB RAM | 60 |
8 CPU | 24 GB RAM | 80 |
12 CPU | 36 GB RAM | 120 |
16 CPU | 48 GB RAM | 160 |
24 CPU | 72 GB RAM | 240 |
32 CPU | 96 o 128 GB RAM | 320 |
Cómo calcular con precisión los max_children necesarios: lea el artículo Ajustando procesos hijo para PHP-FPM
Aumentar el valor de max_children
Para acceder al sitio cuyo valor de max_children debe aumentar en el alojamiento ubicado en el Servidor en la Nube:
- iniciar sesión en el Administrador de Infomaniak (manager.infomaniak.com) desde un navegador web como Brave o Edge
- hacer clic en el icono en la parte superior derecha de la interfaz (o navegar utilizando el menú lateral izquierdo, por ejemplo)
- seleccionar Servidor en la Nube (universo Web & Dominio)
- hacer clic en el nombre del servidor relevante en la tabla que se muestra
- hacer clic en Alojamiento Web en el menú lateral izquierdo
- hacer clic en el nombre del alojamiento relevante en la tabla que se muestra
- hacer clic en el nombre del sitio relevante en la tabla que se muestra
- hacer clic en el botón Configuración avanzada
- hacer clic en la pestaña PHP
- hacer clic en Opciones avanzadas
- elegir un nuevo valor para max_children
- hacer clic en el botón azul Guardar
Comandos avanzados
Este comando le permite obtener directamente el resultado de un grupo de procesos PHP sin tener que navegar por htop:
ps aux | grep "php-fpm: pool domain_here"
Para obtener el número de procesos, tenga en cuenta que siempre debe restar 1 porque también cuenta el propio proceso grep:
ps aux | grep "php-fpm: pool domain_here" | wc -l
Este comando le mostrará el uso promedio de memoria en kilobytes por proceso en la columna RSS:
ps -ylC php-fpm --sort:rss
El siguiente comando calculará el uso promedio de memoria para todos los procesos PHP-FPM anteriores en MB:
ps --no-headers -o "rss" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'