Configuración para mejorar el rendimiento de Apache
Este artículo se ha realizado para indicar de forma sencilla como poder realizar simples ediciones en la configuración del servicio Apache para mejorar su rendimiento.
Si detecta constantes problemas en la carga de sus páginas, lentitud, caídas de servicio o cualquier problema relacionado con el servicio Web, sería recomendable revisar la configuración de Apache.
Las configuraciones especificadas en este artículo son las que empleamos de manera estándar en las templates de creación de los servidores. 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 su resultado óptimo.
Primero de todo procederemos a realizar 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 residir en /etc/httpd/conf/httpd.conf .
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.backup
O en el caso de ser httpd
/etc/httpd/conf/httpd.conf
Una vez realizado el backup procederemos a editar los diferentes valores con la herramienta de edición que deseemos, ya sea vi, vim, nano, etc.
For example:
vi /etc/apache2/apache2.conf
Modificaremos los siguientes valores para que queden de la siguiente forma:
Timeout 20
KeepAlive On
MaxKeepAliveRequest 64
KeepAliveTimeout 3
HostnameLookups Off
Localizaremos la sección del módulo Prefork ( ya que es el que se emplea normalmente ) y dejaremos los valores de la siguiente manera:
Si desconocemos bajo que MPM está funcionando nuestro Apache, ya sea mediante 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, guardaremos el archivo y reiniciaremos 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, se puede 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, se debería revisar de modificar la configuración de las variables de MaxClients todavía más.