Configuracion de Módulo de Procesamiento Múltiple (MPM)

El archivo 00-mpm.conf es un archivo de configuración crucial para el servidor web Apache. Su función principal es especificar el Módulo de Procesamiento Múltiple (MPM) que Apache utilizará para manejar las solicitudes de los usuarios. Los MPM son responsables de cómo Apache administra los procesos hijo, que son los encargados de atender las peticiones entrantes.

¿Qué es un MPM?

Los MPM son componentes esenciales de Apache que determinan la forma en que el servidor maneja la concurrencia y la carga de trabajo. Cada MPM tiene sus propias características y se adapta mejor a diferentes escenarios de uso. Los tres MPM principales incluidos con Apache son:

  • Prefork: Este MPM es el predeterminado en Apache y crea un proceso hijo por cada solicitud posible. Es ideal para entornos con bajo tráfico y poca memoria disponible.
  • Worker: Este MPM utiliza un modelo de hilos en lugar de procesos hijos, lo que lo hace más eficiente en el uso de recursos y adecuado para manejar un mayor volumen de solicitudes.
  • Event: Este MPM es el más reciente y utiliza una arquitectura de eventos asincrónica para manejar un gran número de conexiones simultáneas con un uso mínimo de memoria.

¿Qué define el archivo 00-mpm.conf?

El archivo 00-mpm.conf contiene directivas que establecen el MPM que Apache debe cargar y las configuraciones específicas para ese MPM. Por ejemplo, si deseas utilizar el MPM Worker, el archivo 00-mpm.conf podría incluir directivas como:

LoadModule mpm_worker_module modules/mod_mpm_worker.so
<IfModule mpm_worker_module>
    WorkerThreads 17
    MaxConnectionsPerChild 4000
</IfModule>

Estas directivas cargan el módulo mod_mpm_worker, especifican el número de subprocesos de trabajo y el límite máximo de conexiones por proceso hijo.

¿Dónde se encuentra el archivo 00-mpm.conf?

La ubicación del archivo 00-mpm.conf varía según la distribución de Linux y la instalación de Apache. En general, se encuentra en uno de los siguientes directorios:

  • /etc/apache2/conf.d/00-mpm.conf (en Ubuntu/Debian)
  • /etc/httpd/conf.d/00-mpm.conf (en RedHat/CentOS)

Es importante tener en cuenta que:

  • Editar el archivo 00-mpm.conf requiere privilegios administrativos y una comprensión adecuada de los MPM y las directivas de configuración de Apache.
  • Modificar este archivo incorrectamente puede provocar problemas de estabilidad o errores en el servidor web.
  • Se recomienda consultar la documentación oficial de Apache para obtener información detallada sobre los MPM y las directivas de configuración relacionadas.

Puedes cambiarlo al modo de evento, trabajador o prefork (predeterminado) en el archivo 00-mpm.conf, cuya ruta es /etc/httpd/conf.modules.d.

# sudo cat >> /etc/httpd/conf/httpd.conf <<-'EOF'
<IfModule prefork.c>
    ServerLimit              20
    StartServers             15
    MinSpareServers           5
    MaxSpareServers          10
    MaxClients               15
    MaxRequestsPerChild      25
</IfModule>
EOF