Diagnóstico de un retraso de 2 minutos en la solicitud HTTP GET

Diagnóstico de un retraso de 2 minutos en la solicitud HTTP GET

En circunstancias concretas, obtengo un retraso 100% reproducible de aproximadamente 2 minutos cuando solicito una página web pública.

La página en cuestión:https://id.openjdk.java.net/console/login

Al unir los registros del cliente (curl) y del servidor (apache), un intercambio típico se ve así:

[client] 15:42:03.694959 => Send header, 96 bytes (0x60) 0000: GET /console/login HTTP/1.1
<DELAY HERE>
[server] [24/Feb/2015:22:44:26 +0000] "GET /console/login HTTP/1.1"
[client] 15:44:25.984150 <= Recv header, 17 bytes (0x11) 0000: HTTP/1.1 200 OK

(Las horas son diferentes debido a las zonas horarias y los segundos pueden estar ligeramente desviados debido a que los relojes no están sincronizados).

Cosas que son importantes:

  • El cliente está conectado a través de mi ISP doméstico y se le asigna una dirección IP pública en una subred particular. Dada una dirección IP estática de un rango diferente, el problema desaparece.
  • Se solicita la página '/console/login' en este servidor. No hay demora si solicito 'consola/olvidé mi contraseña'. No he notado un retraso similar en ningún otro servidor.

Cosas que (aparentemente) no son relevantes:

  • Redes domésticas. El problema persiste independientemente de cómo se conecta el cliente al módem del ISP y cuando se prueban módems diferentes.
  • Hora del día/congestión. El retraso es constante, sin importar cuándo se produzca la solicitud.
  • DNS. El comportamiento es el mismo si uso una dirección IP en lugar de un nombre de host.
  • Protocolo de enlace HTTPS. Esta parte de la interacción 'curl' siempre se desarrolla sin demora; y no hay demoras al acceder a 'consola/olvidé mi contraseña' a través de HTTPS.
  • Configuración del cliente. Reproducible en múltiples navegadores y mediante 'curl' en la línea de comando. Reproducible en múltiples sistemas cliente y sistemas operativos.
  • Imagen/guión/etc. cargando. El retraso existe cuando se usa 'curl', que no solicita recursos adicionales.

Mi pregunta: ¿cuál es la explicación más plausible para esto? O: ¿qué debo hacer a continuación para diagnosticarlo?

¿Problemas del servidor? Según tengo entendido elformato de registro de apache, el retraso está ocurriendoantesel servidor recibe la solicitud GET, pero agradecería que alguien pudiera confirmar que esa es la forma correcta de leer las marcas de tiempo del registro. Si es así, no me queda claro qué podría estar haciendo el servidor, si es que hay algo, antes de enviar la solicitud a httpd, o qué podría estar haciendo httpd antes de obtener una marca de tiempo.

¿Problemas de red? La parte complicada aquí es que el retraso aparentemente depende del contenido del mensaje a nivel de aplicación: la página específica que se solicita. Y eso debería estar cifrado. Los administradores de ISP (de una pequeña ciudad) dicen que no realizan ningún filtrado de contenido... De todos modos, me pregunto si algún nodo en el camino tiene mi rango de direcciones IP en una lista negra o algo así.

Respuesta1

Tuve un problema similar, que parece haber sido causado por un tiempo de espera de la conexión remota de xdebug. Si su página usa php con xdebug, quizás eso esté causando su problema.

Respuesta2

Para mí la página se carga inmediatamente.
(Lo sé, esto no importa mucho, pero esta es mi experiencia al respecto).

¿Desde dónde te conectas? Es muy probable que estés utilizando algún tipo de prevención DDOS.

Tal vez su dirección IP esté en la lista negra, o al menos sea examinada más cuidadosamente que todo lo demás.

información relacionada