При определенных обстоятельствах я получаю 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
(Часы различаются из-за часовых поясов, а секунды могут немного отличаться из-за рассинхронизации часов.)
Важные вещи:
Вещи, которые (по-видимому) не актуальны:
Мой вопрос: какое наиболее правдоподобное объяснение этому? Или: что мне делать дальше, чтобы диагностировать это?
Проблемы с сервером? Насколько я понимаю Формат журнала Apache, происходит задержка перед сервер получает запрос GET, но я был бы признателен, если бы кто-нибудь подтвердил, что это правильный способ чтения временных меток журнала. Если это так, то мне непонятно, что сервер мог делать перед отправкой запроса на httpd или что делал httpd до получения отметки времени.
Проблемы с сетью? Сложность здесь в том, что задержка, по-видимому, зависит от содержимого сообщения на уровне приложения: от конкретной запрашиваемой страницы. И это должно быть зашифровано. Администраторы интернет-провайдеров (небольшого городка) говорят, что они не выполняют фильтрацию контента ... Мне интересно, в любом случае, есть ли у какого-нибудь узла мой диапазон IP-адресов в черном списке или что-то в этом роде.
У меня была аналогичная проблема, которая, похоже, была вызвана тайм-аутом удаленного подключения xdebug. Если ваша страница использует php с xdebug, возможно, это вызывает вашу проблему.