Optimizing Apache Performance Part 1

Optimización del rendimiento de Apache – Parte 1

Apache es una implementación de servidor web de código abierto y es el servidor web más popular en todo el mundo. Casi el 70% de los servidores web en Internet utilizan Apache. Si bien podemos mejorar el rendimiento del servidor Apache al agregar hardware adicional como RAM, CPU, etc., también podemos lograr el mismo resultado al personalizar la configuración de Apache.

Esta publicación explica cómo mejorar el rendimiento de Apache sin agregar recursos de hardware adicionales a su sistema.

Nota: esta guía está realizada en un servidor Ubuntu 14.04 14.04.

MaxKeepAliveSolicitudes

MaxKeepAliveRequests limita la cantidad de solicitudes permitidas por conexión. Se utiliza para controlar conexiones persistentes. En Ubuntu, el valor predeterminado de MaxKeepAliveRequests es 100. Puede cambiarlo a cualquier valor que desee. El valor recomendado de MaxKeepAliveRequests está entre 50 y 75.

Puede cambiar este valor editando el archivo de configuración de Apache.

sudo nano /etc/apache2/apache2.conf

Cambie el valor de 100 a 60.

Guarde el archivo y reinicie Apache.

sudo /etc/init.d/apache2 restart

Mantener con vida el tiempo de espera

KeepAliveTimeout define cuánto tiempo espera el servidor la nueva solicitud de los clientes conectados. Establecer KeepAliveTimeout en un valor alto puede causar problemas de rendimiento en un servidor web muy cargado. En Ubuntu, el valor predeterminado de KeepAliveTimeout es 15. El valor recomendado de KeepAliveTimeout está entre 1 y 5.

Puede cambiar este valor editando el archivo de configuración de Apache.

sudo nano /etc/apache2/apache2.conf

Cambie el valor de 15 a 3.

Guarde el archivo y reinicie Apache.

Clientes maximos

Establece el límite en el número de conexiones simultáneas que serán atendidas. Cada nueva solicitud de conexión se pondrá en cola después de este límite. Una vez que se libera un proceso, se atenderá la conexión en cola. En Ubuntu, el valor predeterminado MaxClients el valor es 250. Se recomienda mantener este valor en 150.

Puede cambiar este valor editando el archivo “mpm_prefork.conf”.

sudo nano /etc/apache2/mods-available/mpm_prefork.conf

Cambie el valor de 250 a 150.

Guarde el archivo y reinicie Apache.

MaxConnectionsPerChild

Se utiliza para reciclar procesos. Cuando este límite se establece en 0, se permite una cantidad ilimitada de solicitudes por proceso. MaxConnectionsPerChild establece el límite en la cantidad de solicitudes que manejará un proceso secundario individual. Después de que alcance el límite especificado, el proceso secundario morirá. En Ubuntu, el valor predeterminado MaxConnectionsPerChild el valor es 100.

Los valores recomendados para esta configuración son:

  • servidor virtualizado 300
  • servidor con 1-4GB RAM 500
  • servidor con 4+GB RAM 1000

Puede cambiar este valor editando el archivo “mpm_prefork.conf”.

sudo nano /etc/apache2/mods-available/mpm_prefork.conf

Cambie el valor de 100 a 300.

MaxConnectionsPerChild 300

Guarde el archivo y reinicie Apache.

Mantener viva

De forma predeterminada, esta configuración se establece en On en Ubuntu. Cuando el servidor Apache recibe solicitudes de cientos y miles de direcciones IP a la vez, esta configuración debe ser Off. Se recomienda deshabilitar esta configuración para aumentar el rendimiento de la conexión.

Puede deshabilitar esta configuración editando el archivo de configuración de Apache.

sudo nano /etc/apache2/apache2.conf

Cambiar el valor de On a Off.

Guarde el archivo y reinicie Apache.

MinSpareServers y MaxSpareServers

Establece el número mínimo y máximo deseado de procesos de servidor secundario inactivos. Controla cuántos procesos secundarios no utilizados Apache mantendrá vivos mientras espera más solicitudes para ponerlos en uso. Cada proceso secundario consume recursos, por lo que si configura el MaxSpareServers valor demasiado alto, entonces puede causar problemas de recursos.

Los valores recomendados para MinSpareServers son:

  • servidor virtualizado 5
  • servidor con 1-2 GB de RAM 10
  • servidor con 2-4 GB de RAM 20
  • servidor con 4+ GB de RAM 25

Los valores recomendados para el MaxSpareServers el valor debe establecerse como el doble del MinSpareServers.

Puedes cambiar el MinSpareServers valor a 5 y el MaxSpareServers valor a 10 editando el archivo “mpm_prefork.conf”.

sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers  5
MaxSpareServers  10

Guarde el archivo y reinicie Apache.

Conclusión

Configurar Apache para obtener el máximo rendimiento es muy fácil. También puede comprender los requisitos del servidor web y probar con varias opciones disponibles. Encontrará más consejos para optimizar Apache en mi próxima publicación. Siéntase libre de comentar si tiene alguna pregunta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas