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, para hacer un backup ejecutaremos:
# 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 qué 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