Icono del sitio Binario 0

Cálculo y configuración de valores para PHP-FPM

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Artículos Guías Manuales Sistemas Linux Windows Binario 0

FacebookEmailWhatsAppLinkedInRedditXShare

Para optimizar el rendimiento de PHP-FPM, es importante configurar correctamente los valores relacionados con los recursos de la máquina. A continuación, se explica cómo calcular y ajustar estos valores según la memoria RAM y los núcleos de CPU disponibles.

Cálculo de pm.max_children

pm.max_children determina el número máximo de procesos hijos que puede generar PHP-FPM. Se calcula dividiendo la memoria RAM disponible entre el consumo promedio de un proceso PHP.

Fórmula:

pm.max_children = RAM disponible / Consumo por proceso

Ejemplo: Si la máquina tiene 8.000 MB de RAM y cada proceso PHP consume 16 MB:

8.000 MB / 16 MB = 500

En este caso, el valor de pm.max_children sería 500. Sin embargo, es recomendable reservar al menos 1,5 GB de RAM para el sistema operativo y otros servicios.

Configuración:

pm.max_children = 500

Cálculo de pm.start_servers

Este valor define la cantidad de procesos PHP-FPM que se iniciarán al cargar el servicio. Se calcula multiplicando el número de núcleos de la CPU por 4.

Fórmula:

pm.start_servers = Número de cores x 4

Ejemplos:

Cálculo de pm.min_spare_servers

Define el número mínimo de procesos inactivos que PHP-FPM mantendrá disponibles. Se calcula multiplicando los núcleos de CPU por 2.

Fórmula:

pm.min_spare_servers = Número de cores x 2

Ejemplos:

Cálculo de pm.max_spare_servers

Este valor indica el número máximo de procesos inactivos que PHP-FPM mantendrá disponibles. Generalmente, es igual a pm.start_servers.

Configuración:

pm.max_spare_servers = pm.start_servers

Ejemplo: Si pm.start_servers = 16:

pm.max_spare_servers = 16

Configuración adicional para Apache

Para ajustar el módulo mpm_prefork en Apache, edita el archivo de configuración correspondiente y establece los valores según los cálculos realizados.

Archivo a editar:

vim /etc/apache2/mods-enabled/mpm_prefork.conf

Configuración recomendada:

<IfModule mpm_prefork_module>
StartServers 16
MinSpareServers 8
MaxSpareServers 16
MaxRequestWorkers 256
MaxConnectionsPerChild 500
</IfModule>

Reiniciar Apache

Una vez realizados los cambios, reinicia Apache para aplicar la nueva configuración:

sudo systemctl restart apache2

Con estas configuraciones, se optimiza PHP-FPM y el servidor web para manejar mejor las cargas de trabajo según los recursos disponibles.

Salir de la versión móvil