Inicio » Linux » ¿Qué Sucede si Eliminamos ServerLimit en Apache?

¿Qué Sucede si Eliminamos ServerLimit en Apache?

Loading

En Apache, el parámetro ServerLimit establece el número máximo de procesos que el servidor puede generar. Si ServerLimit se omite o se elimina, Apache usará un valor predeterminado, pero esto puede generar problemas en ciertas configuraciones, especialmente para altas cargas como 1000 solicitudes simultáneas. Veamos los posibles escenarios:

Qué sucede si quitas ServerLimit:

  1. En MPM Worker o Event:
    • El valor predeterminado de ServerLimit será 16.
    • Si configuras un valor alto de MaxRequestWorkers, Apache generará un error si supera el límite permitido por ServerLimit. Por ejemplo:

      AH00534: MaxRequestWorkers of 1000 is not allowed, increasing ServerLimit to 20.
    • Esto puede causar un ajuste automático no deseado o errores de inicio si no se respeta el límite.
  2. En MPM Prefork:
    • ServerLimit está directamente relacionado con MaxRequestWorkers.
    • Si MaxRequestWorkers supera el límite predeterminado (256), Apache no se iniciará sin aumentar explícitamente ServerLimit.

Por qué deberías mantener ServerLimit:

  • Control explícito: Te permite configurar el límite máximo de procesos, asegurando que los valores de MaxRequestWorkers sean respetados.
  • Eficiencia: Sin ServerLimit, Apache podría usar valores predeterminados que no están optimizados para tus necesidades.
  • Evitar errores: Eliminar ServerLimit puede causar que Apache rechace configuraciones válidas o no inicie correctamente.

Configuración recomendada para 1000 solicitudes:

Si no quieres depender de valores predeterminados, mantén ServerLimit. Una configuración optimizada podría ser:

<IfModule mpm_event_module>
StartServers 10
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 50
MaxRequestWorkers 1000
ServerLimit 20
</IfModule>

Aquí:

  • ServerLimit 20 asegura que hasta 20 procesos puedan manejar los hilos necesarios.
  • ThreadsPerChild 50 × ServerLimit 20 = 1000 solicitudes simultáneas.

¿Qué pasa si eliminas ServerLimit?

Si lo quitas y el valor predeterminado no es suficiente, Apache intentará ajustarlo automáticamente, lo cual puede ser impredecible. Es mejor mantener ServerLimit para tener control total.