Я новичок в Varnish, и я изо всех сил пытаюсь понять, почему так много запросов либо miss
, либо hit_for_pass
.Отладка объектов hit_for_pass Varnish
Я добавил unset req.http.Cookie;
внутри vcl_recv
(если я прав) эффективно игнорировать все файлы cookie и кеш независимо от файлов cookie? Это правильно?
Но, несмотря на это, я все еще не получаю hits
. Таким образом, этот метод cookie либо неправильный, либо существует совершенно другая причина, почему это не работает.
Любые идеи по этому вопросу, или есть способ точно увидеть, почему я получаю hit_for_pass
или miss
так часто.
Благодаря Jake
EDIT
Некоторые более Googling, и я нашел это
sub vcl_fetch {
unset beresp.http.set-cookie;
}
Так что я предполагаю, что это удаляет куки из объекта ответа, может кто-нибудь объяснить, почему это сейчас работает и что я сделал, чтобы заставить его работать?
EDIT2
Второй взгляд на varnishstat
показывает, что это не работает, как я ожидал, и я все еще получаю много много промахов.
Спасибо Dan. Это помогло, и теперь я получаю хиты. Я действительно хочу понять, почему это сработало. Удаление 'Cache-Control' и' Pragma' имеет смысл, поскольку Varnish теперь делает кеширование, а заголовки кэша бэкэнда должны игнорироваться. Истекает, используется ли это в качестве лака, например. если это в прошлом, это повлияет на Лак, или если на следующей неделе Varnish проигнорирует его настройку ttl и вместо этого использует заголовок Expires? Наконец, удаление Set Cookie имеет смысл, мне просто нужно ifs для моего раздела '/ admin' –
. Новый« наконец »здесь используется Cache-Control (https://www.varnish-cache.org/docs/3.0/tutorial/increasing_your_hitrate .html # cache-control), должен ли я фактически использовать мой backend для установки заголовков Cache-Control, может быть, в файле .htaccess и полагаться на эти данные для использования Varnish вместо написания нового сложного VCL? –