.png)
Когда кэш Varnish пуст и я получаю X клиентских запросов на один и тот же ресурс, Varnish собирает клиентов и выполняет 1 бэкэнд-запрос.
Знаете ли вы, есть ли возможность контролировать количество запросов, удерживаемых до выборки (или размер временного окна)? - Я бы хотел, чтобы бэкэнд-выборка выполнялась чаще, чтобы клиенты ждали меньше времени.
Когда я тестировал с return(pass) - я получил хороший поток, не слишком долгое время для клиента, но я не получил кэширования - и поскольку кэширование устанавливается бэкэндом - я хотел бы остаться с "return(lookup)", который включает эффект анти-dogpile - хорошо, но иногда плохо (из-за удержания reqs...)
EDIT: Своего рода решение в моих комментариях :)
решение1
Насколько мне известно, запрос на бэкенд запускается немедленно. Если поступает больше запросов на тот же ресурс до того, как первый запрос будет удовлетворен, они обслуживаются из бэкенд-запроса в полете.
Если вы считаете, что промахи кэша происходят медленно, то, скорее всего, это связано с медленной работой вашего бэкэнда или с неправильной настройкой чего-то еще.