Configuración de Apache Prefork MPM

Configuración de Apache Prefork MPM

Prefork es el módulo de procesamiento múltiple de Apache predeterminado. Cuando comienza a trabajar como administrador del sistema, generalmente se trata de servidores de bajo tráfico. No necesita saber cómo Apache maneja múltiples procesos a la vez. Incluso yo no lo sabía todo. Pero después de algunos días, cuando comienza a trabajar con servidores de alta carga y necesita optimizar Apache. Esa vez es importante saber sobre los módulos de procesamiento múltiple en Apache y cómo funciona

Configuración predeterminada de Apache prefork

A continuación se muestra la configuración de módulo multiprocesamiento predeterminada predeterminada como a continuación para las versiones de Apache.

Para Apache 2.4

StartServers 3 minspareservers 5 maxspareservers 10 maxRequestworkers 400 maxconnectionsperchild 0 

Para Apache 2.2

Startersers 5 minspareservers 5 maxspareservers 10 maxclients 150 maxRequestSperChild 0 

Directivas de configuración de prefork:

1. StartServers: Esta directiva definió el número de procesos de servidor infantil para crear en el inicio de Apache. El número de procesos aumenta dinámicamente en función de la carga del servidor, por lo que no necesita cambiar este valor normalmente.

2. MinSpareservers: Este es un número mínimo de procesos infantiles inactivos en ejecución de Apache, que siempre esperan la conexión entrante. Si los procesos inactivos mínimos son inferiores al valor de MinSpareservers, Apache iniciará los procesos de un niño para mantener servidores de repuesto mínimo.

3. MaxSPareServers: Este es el número máximo de procesos que pueden estar en estado inactivo. Si los procesos inactivos en algún momento son más que el valor de MaxSPareServers, el proceso principal mata los procesos adicionales de los niños inactivos.

4. MaxClients y MaxRequesters: Esta es la directiva de prefork más importante. Este número máximo definido de solicitudes puede ser manejado por los servidores Apache. Si el número máximo de conexiones o solicitudes excede el valor, todas las solicitudes adicionales deben esperar en la cola.

Mantenga este valor tan alto como su hardware le permite. Vea los detalles a continuación, a cómo establecer este valor.

a. Encuentra el número total de RAM en tu sistema.
b. Descubra cuánto RAM está disponible para Apache Server.
C. La memoria promedio utilizada por un solo proceso de Apache.

Valor <= ( Total Memory available for Apache) / ( Memory used by one process )5. MaxRequestSperChild o MaxConnectionsperChild: Este es el número máximo de solicitudes puede ser procesada por un proceso infantil en su vida. Por ejemplo, si establece este valor en 100. Cualquier nuevo proceso infantil atenderá hasta 100 solicitudes y luego mató por el proceso de los padres. En ese lugar, Apache comienza un nuevo proceso infantil.

Recomendamos mantener este valor más alto (al menos mayor que 0). Configurar este proceso de parámetro 0 significa que nunca caducará, lo que puede crear un problema de fuga de memoria y consumir memoria alta.

Cuándo cambiar los Inicio, los valores de las directivas de MinSpareservers y MinSpareservers:

Nunca necesita cambiar esta directiva en servidores de bajo tráfico. Si está manejando un servidor con miles de solicitudes por minuto, solo usted necesita cambiar estos valores. Pero primero debe saber sobre la frecuencia de la generación de nuevos procesos en Apache

    • Apache 2.2 puede generar un procesos por segundo.
    • Apache 2.4 pueden generar hasta 32 procesos en el segundo. Cuando los procesos mínimos de repuesto inactivo son inferiores a los valores de MinSpareservers, Apache inicia 1 proceso y espere un segundo, si es aún menos, apache inicia 2 procesos y espere un segundo, si aún es menos, apache inicia 4 procesos y espere un segundo, de manera similar, Apache puede iniciar a 32 procesos infantiles de repuesto por segundo y se repite hasta que el proceso mínimo de repuesto excedió el valor de MinSpareservers.
    • Por ejemplo, si su servidor se ejecuta con Apache 2.2, entonces Apache solo puede iniciar un procesos de repuesto por segundo. Significa que si su servidor obtiene más de 1 conexión por segundo, entonces debe ajustar todos estos parámetros para seguir ejecutando algunos procesos inactivos. Pero también depende de cuánto tiempo tarda un procesamiento en completar.

      Del mismo modo, si el servidor se ejecuta con Apache 2.4, puede que necesite cambiar estos parámetros muy raramente, porque Apache 2.4 pueden comenzar a 32 procesos de Chiles por segundo.