Estamos ejecutando un servidor Apache 2.2 para un sitio web muy grande. En los últimos meses, algunos usuarios han informado tiempos de respuesta lentos, mientras que otros (incluidos nuestros recursos, tanto en la red interna como en nuestras redes domésticas) no ven ninguna degradación en el rendimiento.
Después de mucha investigación, finalmente encontramos una declaración "Denegar desde ninguno" en nuestra configuración que estaba provocando búsquedas de DNS inversas (que estaban expirando) que resolvieron la mayor parte de nuestros problemas, pero todavía tenemos algunos clientes que estamos viendo en los registros de Apache (usando %D en el formato de registro) con tiempos de procesamiento de solicitudes de > 300 segundos para imágenes, CSS, javascript y otro contenido estático.
Hemos verificado todas las declaraciones Deny / Allow para detectar la recurrencia de "ninguno", así como todas las demás cosas que sabemos que podrían causar búsquedas de DNS inversas (como usar "REMOTE_HOST" en reglas de reescritura, usar %a en lugar de %h en nuestra configuración de formato de registro) y verificó que HostnameLookups esté configurado en "Desactivado".
Aparte, también hemos validado que las búsquedas inversas de DNS para personas que tienen este problema no caducan, por lo que estoy bastante seguro de que DNS no es un problema en este caso.
Me he quedado sin ideas. ¿Existe algún escenario de configuración de Apache que alguien pueda indicarme y que pueda faltar y que provoque que los tiempos de solicitud de contenido estático demoren tanto solo para ciertos usuarios?
Gracias de antemano.
Respuesta1
Cuando encuentro este tipo de cosas, primero compruebo:
- DNS. Utilice un volcado de red como
tcpdump
owireshark
para verificar esto, no solo mirar el archivo de configuración. Si estás seguro de que este no es el problema, - ¿Cómo se ven traceroute/pings para esos usuarios? ¿Tienen todos algo en común por su parte? He visto que una caja NAT defectuosa causa un sinfín de dolores de cabeza. También he visto que el tráfico local de un usuario hace que mi sitio parezca más lento que para otros sin conexiones cargadas, pero OBSERVAN que el mío es lento.
- Cortafuegos/túnel. ¿Están haciendo algo tonto como bloquear todos los ICMP? ¿Están en un túnel? Si la respuesta es afirmativa a ambas, entonces es probable que el descubrimiento de PMTU se haya agotado de alguna manera extraña.
Tenga en cuenta que los tiempos de respuesta de 300 probablemente signifiquen que Apache se dio por vencido, no que se haya atendido. 5 minutos es mucho tiempo para que el servidor espere, pero es aún más loco para un cliente esperar tanto.