Диагностика 2-минутной задержки в HTTP-запросе GET

Диагностика 2-минутной задержки в HTTP-запросе GET

В редких случаях я получаю 100% воспроизводимую задержку примерно в 2 минуты при запросе общедоступной веб-страницы.

Страница, о которой идет речь:https://id.openjdk.java.net/console/login

Объединяя журналы клиента (curl) и сервера (apache), типичный обмен выглядит следующим образом:

[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

(Часы могут отличаться из-за разницы во времени, а секунды могут немного отличаться из-за рассинхронизации часов.)

Важные вещи:

  • Клиент подключен через моего домашнего интернет-провайдера и ему дан публичный IP-адрес в определенной подсети. Если дать статический IP-адрес из другого диапазона, проблема исчезает.
  • Запрошена страница '/console/login' на этом сервере. Задержки не будет, если я запрошу 'console/forgotPassword'. Я не замечал подобной задержки ни на одном другом сервере.

Вещи, которые (очевидно) не имеют значения:

  • Домашняя сеть. Проблема сохраняется независимо от того, как клиент подключается к модему провайдера и при попытке использовать разные модемы.
  • Время суток/заторы. Задержка постоянная, независимо от того, когда происходит запрос.
  • DNS. Поведение такое же, если я использую IP-адрес вместо имени хоста.
  • HTTPS-рукопожатие. Эта часть взаимодействия «curl» всегда выполняется без задержки; и нет задержки при доступе к «console/forgotPassword» через HTTPS.
  • Конфигурация клиента. Воспроизводится в нескольких браузерах и через 'curl' в командной строке. Воспроизводится на нескольких клиентских системах и ОС.
  • Загрузка изображения/скрипта/и т. д. Задержка возникает при использовании 'curl', который не запрашивает дополнительных ресурсов.

Мой вопрос: какое наиболее правдоподобное объяснение этому? Или: что мне делать дальше, чтобы это диагностировать?

Проблемы с сервером? Насколько я понимаюФормат журнала Apache, задержка происходитдосервер получает запрос GET, но я был бы признателен, если бы кто-то мог подтвердить, что это правильный способ чтения временных меток журнала. Если так, то мне не ясно, что, если вообще что-то, сервер может делать перед тем, как отправить запрос httpd, или что httpd может делать перед получением временной метки.

Проблемы с сетью? Самое сложное здесь то, что задержка, по-видимому, зависит от содержимого сообщения на уровне приложения: конкретная запрашиваемая страница. И это должно быть зашифровано. Администраторы интернет-провайдера (небольшого городка) говорят, что не выполняют фильтрацию содержимого... Интересно, в любом случае, есть ли у какого-то узла по пути мой диапазон IP-адресов в черном списке или что-то в этом роде.

решение1

У меня была похожая проблема, которая, похоже, была вызвана тайм-аутом удаленного соединения xdebug. Если ваша страница использует php с xdebug, возможно, это и является причиной вашей проблемы.

решение2

У меня страница загружается мгновенно.
(Знаю, это не имеет большого значения, но таков мой опыт.)

Откуда вы подключаетесь? Вполне вероятно, что вы сталкиваетесь с какой-то защитой от DDOS.

Возможно, ваш IP-адрес занесен в черный список или, по крайней мере, проверяется более тщательно, чем все остальное.

Связанный контент