Inicio > General, Linux > Reglas básicas para servidores apache bien ajustados

Reglas básicas para servidores apache bien ajustados

  1. Asegúrate verificando en el error.log si el Apache no llega al número máximos de procesos. Si es así debes incrementar el máximo, por ejemplo: MaxClients 150
  2. Algunas distribuciones, como Debian, tiene el máximo “absoluto” en 256 procesos, si necesitas más debes cambiarlo: ServerLimit 512
  3. Habilita el KeepAlive, pero ponle un timeout bajo: KeepAliveTimeout 2
  4. StartServers debe tener un valor adecuado, que sea ≥ que MinSpareServers y ≤ que MaxSpareServers. Por ejemplo : StartServers 40, MinSpareServers 30, MaxSpareServers 50
  5. MaxSpareServers debe ser mayor en al menos un 50% el valor de MinSpareServers.
  6. El PHP puede consumir mucha memoria en algunas conexiones (subida de ficheros, compilación de muchos módulos, etc.) y no las libera hasta que “muera” el proceso. Por eso es mejor que los procesos de Apache tengan una “vida limitada” para permitir liberar esa memoria que no se necesita: MaxRequestsPerChild 10000. Ajusta el valord de 10.000 a tus propias necesidades, si tu servidor tiene muchas conexiones puedes subirlo, por ejemplo a 1.000.000 como en el caso del Menéame.
  7. Para saber mejor cuál es el problema de tu servidor usa los comando top y vmstat 2. El primero te dará el uso de CPU de los procesos, si es el mysqld el que aparece con casi el 100% de CPU, el problema es de base de datos, por el contrario se trata del PHP. El vmstat te dará más pistas, si los valores de la columna wait (la última, wa) son altos, es porque necesita mucha entrada salida, necesitas más memoria RAM. Si por el contrario las valores de la columna idle (la penúltima, id) son muy bajos necesitas más CPU.

En realidad la primera regla hay que tomarla con cuidado. Si bien es cierto que aumentar el número de MaxClients ayuda a reducir el tiempo de respuesta de las peticiones al tener más clientes concurrentes, aumentar ese número sin vigilar el consumo de memoria de Apache puede ser perjudicial.

Si el consumo de memoria de cada instancia de Apache multiplicado por el número de instancias concurrentes supera la memoria disponible en el sistema (suponiendo que el resto de procesos apenas consumen memoria, lo cual es mucho suponer porque mysql necesitará al menos parte de ella), empezaremos a tirar de swap y el rendmiento se hirá por el desagüe.
Así que aumentarlo sí, pero con cierto control sobre la memoria consumida y su efecto sobre la paginación.

Disclamer: Este post está construido basándome en este de Ricardo Galli y en los comentarios de tíos serios como Iñaki de escomposlinux , no encuentro por ningún lado la licencia de los contenidos, pero por si las moscas solamente me propongo citar un texto del autor, reconociendo su autoría, asi que creo que no hago nada malo.🙂

Categorías:General, Linux Etiquetas: , , , ,
  1. yxabel
    mayo 28, 2008 a las 6:08 am

    “servidores de apaches bien ajustados”
    No sé vosotros pero yo sólo veo indios americanos con la cara roja de pintura de guerra, y un cinturón muy ajustado donde llevan las hachas para cortar cabelleras…

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: