Preparando tu server Apache2 para una alta demanda. ( Ubuntu Server 12.04 )

Existen muchas maneras de preparar tu servidor, unas mejores que otras. Simplemente haremos la más sencilla.

Todo servidor Apache viene configurado por defecto con la versión prefork, y para una cantidad máxima de 150 usuarios concurrentes. Para un servicio con muchos usuarios esto no puede ser posible.

OJO: Todo cambio para tener mayor cantidad de usuarios en el sistema, en especial en la versión prefork requiere una mayor cantidad de memoria. Aseguráte de tener suficiente antes de continuar.

🛠️ ¿Te interesa la tecnología que realmente importa?

En la comunidad compartimos herramientas, workflows y automatizaciones que usamos en el día a día. Sin teoría — pura práctica.

👥 Entrar a la comunidad

El archivo de configuración del Apache2 en mi caso se encuentra en  /etc/apache2/apache2.conf.

Archivo Original:

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves

     StartServers 5
     MinSpareServers 5
     MaxSpareServers 10
     MaxClients 150
     MaxRequestsPerChild 0

  • En donde MaxClients aparece seteado como máximo a 150. Esto no nos sirve para una aplicación que tendrá mucha demanda!

Si solo incrementamos el valor de MaxClients no nos sirve debido a que apache tiene por defecto un máximo de usuarios en el servidor. Teniendo esto en cuenta modificamos la sección del archivo de la siguiente manera.

Archivo Resultante

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves

     StartServers 5
     MinSpareServers 5
     MaxSpareServers 10
     ServerLimit 1024
     MaxClients 1024
     MaxRequestsPerChild 0

Ahora nuestro apache está listo para aceptar 1024 usuarios de manera concurrente. Tengan en consideración que entre más usuarios, más memoria se utiliza, y es posible que si se consume más de la permitida otros servicios como mysql si se tienen el mismo servidor dejen de funcionar de manera adecuada.

🛠️ ¿Te interesa la tecnología que realmente importa?

En la comunidad compartimos herramientas, workflows y automatizaciones que usamos en el día a día. Sin teoría — pura práctica.

👥 Entrar a la comunidad

Suscríbete a mi Newsletter

Estrategias de automatización, AI y startups que funcionan. Análisis semanal directo a tu inbox. (Sin spam, prometo intentarlo.)

Los comentarios están cerrados.