systemadmin.es > LAMP y web > Conexiones KeepAlive de apache

Conexiones KeepAlive de apache

Se encuentran muchos Apache configurados con valores por defecto referentes a las conexiones KeepAlive, normalmente:

KeepAlive On
KeepAliveTimeout 15
MaxKeepAliveRequest 100

Las conexiones KeepAlive són aquellas que se mantienen abiertas tras recibir una petición del cliente y servirla, de tal manera que la siguiente petición reaprovecha la conexión.

Resultan útiles ya que no se tienen que abrir una conexión para cada elemento de la página (imagenes, CSS, JavaScripts…)

Para el caso de apache, los parámetros que regulan estas conexiones són:

  • KeepAlive: Indica si se usan o no (On/Off)
  • KeepAliveTimeout: Regula el tiempo que mantiene el servidor la conexión abierta a la espera de más peticiones.
  • MaxKeepAliveRequest: Número máximo de peticiones por conexión, una vez se supere este límite el servidor cerrará la conexión y el cliente deberá reabrir una conexión.

Evidentemente un KeepAlive de 15 segundos es mucho, ya que raramente una página tardará más que 2 o 3 segundos en cargar. Con este valor lo que ocurrirá es que se va a llenar de conexiones el apache que no se van a reutilizar. Unos valores más aconsejables podrían ser:

KeepAlive On
KeepAliveTimeout 2
MaxKeepAliveRequests 1000

8 comments to “Conexiones KeepAlive de apache”

  1. jajaj no mas de 2 segundos…., hay muchisimas que tardan sobre 10 Sec. 🙁 por defecto lo veo bien, pero mejor

    KeepAliveTimeout 8

    gracias por la aclaracion 😀 , y muy buen blog!!!

  2. Creo que no entiendes bien que es el KeepAlive: Significa que estará esperando sin hacer nada uno de los slots para ver si el cliente le manda otra petición.

    Depende de la aplicación evidentmente, pero un KeepAliveTimeout de 8 segundos me parece un derroche de recursos.

  3. Hola compañeros pero yo tenia una consulta:

    Tengo un servidor dedicado, que me sirve para un sistema bibliotecario (que puede ser accedido por 100 persona a la vez). Ahora que es lo que pasa, que a momentos se pone lento, esto pasa por que en mi servidor estoy utilizando el SWAP y no la RAM, pero yo quiero hacer las configuraciones como para que mi apache trabaje mas que todo con la RAM.

    Que me aconsejan.

    Y por otra parte, este es un buen blog, y gracias por tu aporte..

  4. Pero una pregunta, si seteo un keepalive de 2 segundos, si la web tiene que cargar varios archivos, esos dos segundos se van renovando concatenadamente y se va utilizando la misma conexion?.. o se abre si o si otra conexion?

    Haber si alguien sabe aclarar eso

  5. El keepalive a dos segundos mantendrá la conexión abierta durante 2 segundos extras a que acaben las peticiones. Por lo tanto, usará una misma conexión para todos los recursos al cargar un site del dominio

  6. Muy útil el post. Gracias

  7. Muy útil. Lo voy a probar para mi página. Pasó de tener 500 visitas diarias a 8000 y no aguanta mi servidor.

  8. Hola, a ver si me pueden ayudar, tengo un sistema web en una lan, y sucede que a veces hacen una petición desde un cliente, y la respuesta se demora un segundo, y luego se emite por duplicado, y esto trae problemas de inserts dobles en mi base de datos. les agradezco mucho!

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>