Cómo Funciona y se Configura el Modelo de Procesamiento MPM Event en Apache HTTP Server

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

En el modelo de procesamiento MPM event de Apache HTTP Server, el límite en la cantidad de servidores (procesos) activos no se especifica directamente con un parámetro como en el caso de StartServers. Sin embargo, está indirectamente controlado por otras directivas:

  1. StartServers: Define el número inicial de procesos servidor. Este valor solo afecta al arranque del servidor, no al máximo número de procesos permitidos.
  2. MaxRequestWorkers: Esta directiva es la clave para limitar la cantidad de servidores activos, ya que establece el número máximo de hilos que pueden atender solicitudes simultáneamente.
    • Dado que cada servidor hijo tiene un número fijo de hilos (ThreadsPerChild), el número máximo de servidores se calcula como:

    Máximo de servidores=MaxRequestWorkers / ThreadsPerChild

    Por ejemplo:

    Máximo de servidores= 250 / 25=10
  3. ThreadLimit y ThreadsPerChild: Estos definen el número máximo de hilos que puede manejar un proceso hijo. Dado que el número de hilos por proceso no puede superar ThreadLimit, el diseño de Apache limita la creación de procesos adicionales cuando se alcanza la capacidad máxima.

La capacidad simultánea de solicitudes de la configuración puede manejar depende del valor de MaxRequestWorkers, que en este caso está configurado en 250. Esto significa que el servidor puede manejar hasta 250 solicitudes simultáneamente.

Explicación:

  1. ThreadsPerChild = 25: Cada proceso hijo puede manejar hasta 25 hilos, y cada hilo puede atender una solicitud simultáneamente.
  2. MaxRequestWorkers = 250: Define el máximo de hilos activos que pueden atender solicitudes al mismo tiempo, distribuidos entre varios procesos hijos.

Dado que:
Máximo de procesos hijos=MaxRequestWorkers / ThreadsPerChild= 250 /25=10

  • Tu servidor ejecutará como máximo 10 procesos hijos con 25 hilos cada uno, sumando los 250 hilos necesarios para atender 250 solicitudes simultáneamente.

Consideraciones:

  • Si el número de solicitudes concurrentes supera 250, las solicitudes adicionales quedarán en cola o se rechazarán dependiendo de tu configuración de timeout y el cliente puede experimentar retrasos.
  • Asegúrate de que tu servidor tenga suficientes recursos (CPU, memoria) para manejar esta carga.
  • Si esperas más de 250 solicitudes simultáneamente, considera aumentar MaxRequestWorkers y ajustar otros parámetros (ThreadsPerChild, ThreadLimit, etc.) en consecuencia.
Binario 0
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.