Задать вопрос
@dmitri_kotov_PhD

17 секунд задержка на первый запрос к серверу?

Всем привет.

Дано: сайт на dedicated server, Centos 7.9 (ядро 6.3.9-1.el7.elrepo.x86_64) + nginx 1.27 + Wordpress (+ WPRocket, + Redis object cache).

Есть проблема: ~2-3 раза в день, возникает проблема: ПЕРВОЕ обращение к сайту зависает на 17 секунд.
Все последующие запросы отрабатывают очень быстро.

У кого-нибудь бывало такое?

Также:
В Google PageSpeed для desktop: 97 баллов.
Monit говорит, что всё прекрасно.

URL сайта дать не могу. Могу показать конфиги nginx.

Проверял второй имеющийся сервер (vps): там такой проблемы нет. Оба сервера в Дубае, в одном датацентре. Оба настраивал сам. Второй сервер "работает" на поддомене первого сервера, т.е. даже их домены описаны в одной доменной зоне в cloudflare.
Со вторым сервером всё прекрасно, а с этим нет.
Проверяю из России.

Что сделано:
проверена вся цепочка.. и доменная зона в cloudflare, и DNS в /etc/resolv.conf, и конфиги nginx, и тонкая настройка centos, redis, и все логи сервера.

Что я нахожу СТРАННЫМ: в chrome dev tools (Yandex Browser), таймлинии процесса загрузки в проблемном случае просто начинаются после 17-ти секундной задержки. См. скрин в прикреплении.
675471b2ed241002683148.jpeg

Нет никаких stalled state. Сам ответ сервера шустрый на всех стадиях. Как на графике, так и вживую, но за исключением 17-ти секундного лага при ПЕРВОМ запросе, и то лишь ИНОГДА.
Проверял с разных компьютеров.
Сам сайт получает по 2-3 запроса в секунду в среднем. Не простаивает.

Исходя из диаграммы, запрос сначала где-то ждёт 17 секунд, а потом молниеносно выполняется.
Перегруза сервера нет! Со стороны chrome dev tools Stalled state также в диаграмме отсутствует.
В сервере достаточно свободной ОЗУ и места на диске.
Судя по диаграмме, сигнал даже не доходит до сервера, а где-то тормозится. Но только первый запрос. Как так??
Думал на DNS, на SSL shake, нигде не нашёл проблем.

Кто-нибудь знает, в чём может быть засада?
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Средний 6 комментариев
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
 Дамп трафика снимите (желательно на обеих сторонах, чтобы потом сравнить) - из него станет понятно, кто там кого ждёт.
Ответ написан
1. замерь скорость отдачи просо файла к примеру robots.txt в момент провисания, если зависает и он на17 секунд то это точно до php
2. - замерь скорость отдачи пхп файла с пхп инфо в нутри, ( исключишь проблемы работы fpm)
3 - напиши файли на пхп с запросом какой-то таблицы в бд с отображением скажем списка пользователей ( GPT) напишет тебе за 1 секунду
4. подключи ядро сайта и выведи хеллоу ворлд, и замеряй этот файл тоже ( не задействовать сложных компонентов)
Теперь у тебя есть целый инструментарий, на основание этого ты исключить ( проблему кеширования сайта когда он отдается быстро но дохнет при создание кеша)
2. Проблемы с sql поскольку провис будет при простом запросе к нему.
3. проблему с фпм
4. и соответственно просто текстовый файл отдается читсо nginx.
И только после этого будем обсуждать днс и nginx поскольку это самое мало вероятное.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы