Назад | Перейти на главную страницу

Лак с задержкой 5 секунд

У меня странная проблема с лаком, он перед API и кеширует все ответы. В основном это работает нормально, но время от времени запрос будет возвращаться на 5 секунд (или редко 10 секунд или 15 секунд… всегда с шагом 5) больше, чем обычно.

Я пробовал обойти HAProxy впереди, то же самое, и я проверил, делает ли он это, если URL уже кэширован или нет (я проверил заголовок Age). Таким образом, это не может быть бэкэнд, поскольку страница находится в кеше, это не то, что находится перед лаком, который оставляет только лак как причину этой проблемы.

Есть идеи, что могло вызвать эту 5-секундную задержку? Я проверил журнал varnishlog, в это время лак ничего не делает. Я также попытался вручную сделать еще один запрос во время этой задержки, и лак ответил нормально, поэтому он не заморожен или что-то еще, он работает нормально. И по истечении этих 5 секунд он, как обычно, выводит журнал запроса, ничего странного в нем нет. Пример :

Я понимаю, что лак считает, что это было быстро обработано, но на локон ушло 5 секунд. Curl используется непосредственно на сервере Varnish, поэтому это не сетевая задержка. Это немного сложно воспроизвести, я использую скрипт, который выполняет запросы в цикле и показывает curl time_total, чтобы наконец это произошло.

Может быть, это что-то со стороны Linux? Может быть, какое-то ограничение, или задание по очистке сокета, или что-то, что приостановит запрос. Такое бывает раз в 400 или 500 запросов, иногда больше, иногда реже.

Проблема заключалась в разрешении DNS, curl каждый раз выполняет новый DNS-запрос, и похоже, что преобразователю для этого сервера (Google 8.8.8.8) иногда требуется 5 секунд, чтобы ответить. Ничего общего с лаком, моя плохая