Optimizar Apache
Esto lo postie hace mucho en tecnohacker y ahora lo dejo aquí 🙂 en TH lo deje en un post de tips para configurar apache. Aquí mejor lo dejo en linux para no hacer nueva categoría y todo el asunto.
Los parámetros por defecto del Apache no están para nada justados a servidores con mucha carga. Especialmente uno…
Todos más o menos saben que hay que ajustar el número de procesos máximos, el mínimo y los procesos “en espera” para atender a nuevas peticiones. Mas o menos así,
StartServers 40
MinSpareServers 30
MaxSpareServers 50
MaxClients 240
MaxRequestsPerChild 10000 #Para liberar la memoria consumida por algunos scripts «gordos»
También es importante reducir el timeout:
Timeout 30
Y por supuesto, minimizar el número de módulos cargados ya que cada uno de ellos consume memoria.
Pero si hay un parámetro que es fundamental para reducir el número total de procesos (y por lo tanto consumo de memoria) para no llegar a los límites es algo que muy poca gente lo hace. Reducir el tiempo de espera para las conexiones persistentes. Por defecto es de 15 segundos, pero resulta que no tiene sentido tanto tiempo. Cuando un navegador usa las conexiones persistentes es para bajar las imágenes una tras otra, en serie y lo más rápido posible. Así que no tiene sentido “gastar” un proceso para que quede consumiendo memoria y sin hacer nada durante 15 segundos.
En el server cambiado 15 a 3 segundos:
KeepAliveTimeout 3
Y fue impresionante, el número medio de procesos Apache bajó de 160-180 a no más de 120 (en general no supera 100). Ahora mismo estamos en hora que no es pico pero está entre las más altas, y no supera 90 procesos:
$ ps ax | grep apache | wc -l
90
Ese tip del server de meneame, una pagina con trafico suficiente como para pensar en optimizar y aquí se los dejo, después mas, tocando los archivos de configuración, y alguna que otra cosa con el apache, en otro post la instalación
como dije antes, y las rutas que en alguno servidores cambian pero eso es cosa del que instala el apache..
Nos vemos