Как сохранить те же запросы, что и для backend в varnish4.0.3, пока первый не ответит

96
7

Мой сайт имеет следующий запрос flow-

AWS CloudFront → ELB → Varnish 4.0.3 → NginX (обратный прокси) → ELB → Drupal7

Работа: нормальный поток работает как ожидалось.

Проблема. Когда я запускаю тестирование нагрузки на моем сайте, один и тот же запрос поступает на сервер Drupal несколько раз. Например, My jMeter обстрелял 500 вызовов http://website/index.php, ~ 50% запросов попали на сервер Drupal.

Ожидание: Лак должен иметь все тот же запрос, пока он не ответит первым.

Наблюдение: Лак посылает все те же запросы на задний план, пока не появится ответ на первый запрос

Если кто-либо реализовал такую функциональность,

спросил(а) 2021-01-19T15:48:58+03:00 2 месяца, 3 недели назад
1
Решение
115

Это странно, потому что Varnish должен придерживаться этого запроса, согласно документу: https://www.varnish-cache.org/docs/4.0/users-guide/vcl-grace.html

Возможно, первый запрос, который поступает на бэкэнд, заканчивается не кэшируемым ответом, который получает "HIT-FOR-PASS" (последующие же запросы не попадут в кеш, а скорее будут извлечены из бэкэнд).

Что такое вывод из varnishlog, отправляете ли вы специальный заголовок, который предотвращает кеширование?

ответил(а) 2021-01-19T15:48:58+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема