Configuración para mejorar el rendimiento de Apache

Hemos hecho este post para indicar de forma sencilla cóm realizar ediciones simples en la configuración del servicio Apache para mejorar su rendimiento.

Si detectas constantes problemas en la carga de tus páginas, lentitud, caídas de servicio o cualquier problema relacionado con el servicio Web, sería recomendable revisar la configuración de Apache.

Es posible que la configuración no se adapte totalmente a las necesidades de cada uno, pero sirven como punto de referencia ya que han sido probadas en multitud de ocasiones y situaciones, demostrando un resultado óptimo.

Backup en la configuración de Apache

Lo primero que tienes que hacer es un backup de la configuración de Apache.

Normalmente el archivo de configuración de Apache se puede encontrar en /etc/apache2/apache2.conf, pero dependiendo de la distribución puede encontrarse en otras ubicaciones como por ejemplo

/etc/httpd/conf/httpd.conf

cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.backup

O en el caso de ser httpd:

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup

Edición de los diferentes valores

Una vez hecha la copia de seguridad, procede a editar los diferentes valores con la herramienta de edición que prefieras (vi, vim, nano,…). Por ejemplo:

vi/etc/apache2/apache2.conf

Para la configuración optimizada que proponemos tendrás que modificar los siguientes valores para que queden como a continuación:

Timeout 20

KeepAlive On

MaxKeepAliveRequest 64

KeepAliveTimeout 3

HostnameLookups Off

Luego deberás localizar la sección del módulo Prefork (ya que es el que se emplea normalmente) y tendrás que dejar los valores de la siguiente manera:

Si desconoces bajo que MPM está funcionando tu Apache, ya sea mediante prefork o worker, puedes consultarlo siguiendo los pasos de nuestro artículo Ver si Apache está funcionando bajo Prefork o Worker

IfModule mpm_prefork_module>

StartServers 2

MinSpareServers 2

MaxSpareServers 5

ServerLimit 200

MaxClients 200

MaxRequestsPerChild 4000

/IfModule

Una vez realizados los cambios, guarda el archivo y reinicia el servicio para aplicarlos:

/etc/init.d/apache2 restart

O bien:

/etc/init.d/httpd restart

Si después de realizar estos cambios los problemas con Apache persisten, puedes revisar el log de error de Apache y buscar errores relacionados con MaxClients:

grep -i maxclient /var/log/apache2/error_log*

O bien:

grep -i maxclient /var/log/httpd/error_log*

Si el comando devuelve algún resultado de error relacionado, deberías modificar la configuración de las variables de MaxClients todavía más.

En el siguiente enlace puedes encontrar la documentación oficial de Apache referente a estos cambios y mucho más:
http://httpd.apache.org/docs-2.0/mod/mpm_common.html

Fuentes: Documentación de Apache, Documentación de MaxClients

Para comentar sobre este artículo, rellena el formulario. Los campos marcados con un asterisco (*) son obligatorios.


*