Подтвердить что ты не робот

Лак для прохода?

Поскольку в Varnish Version 3 есть несколько объектов для разных операций.

Например, pass используется, когда он должен извлекать данные из бэкэнд. и он использует хит, когда находит поиск содержимого в кеше.

Но я не могу понять использование хит-парада. когда лак использует его? Я не нашел полезных материалов в сети, которые дают мне понять.

4b9b3361

Ответ 1

Объект hit_for_pass сделан для оптимизации процедуры выборки на сервере backend.

Для обычных пропусков кеша, Varnish поставит очередь всех клиентов, запрашивающих один и тот же объект кеша, и отправит один запрос на бэкэнд. Это, как правило, самый быстрый, позволяя backend работать по одному запросу вместо того, чтобы замаскировать его с помощью n запросов одновременно.

Помните, что некоторые серверы используют много времени для подготовки объекта; 10 секунд не является чем-то необычным. Если это HTML-страница на главной странице, и у вас есть 3000 req/s против нее, отправка одного запроса на бэкэнд имеет большой смысл.

Проблема возникает, когда после того, как Varnish извлечет объект, он видит, что его нельзя кэшировать. Причинами этого может быть то, что бэкэнд отправляет "Cache-Control: max-age = 0" или (чаще) заголовок Set-Cookie. В этом случае у вас есть где-то от 3000 до 30 000 клиентов (3k req/s * 10sec), сидящих в очереди в очереди, и для каждого из этих клиентов для их обслуживания должен выполняться один и тот же медленный одноразовый запрос на бэкэнд. Это испортит вам время отклика вашего сайта.

Итак, Varnish сохраняет решение о том, что этот запрос нельзя кэшировать, создав объект hit_for_pass.

При следующем запросе для того же URL-адреса поиск кэша вернет объект hit_for_pass. Это сигнализирует о том, что одновременно можно выполнить несколько попыток. Ваш бэкэнд может быть не слишком доволен этим, но, по крайней мере, Varnish не ставит в очередь клиентов без причины.