gpt4 book ai didi

php - 调试Varnish的hit_for_pass对象

转载 作者:行者123 更新时间:2023-12-03 17:45:58 26 4
gpt4 key购买 nike

我是 Varnish 的新手,我很难理解为什么有这么多请求是 misshit_for_pass

我在 unset req.http.Cookie; 中添加了 vcl_recv 以(如果我是对的)有效地忽略所有 cookie 和缓存,而不管 cookie 是什么?这是正确的吗?

但尽管如此,我仍然没有收到 hits 。所以这种 cookie 方法要么是错误的,要么是完全不同的原因导致它不起作用。

关于这个的任何想法,或者有没有办法确切地了解为什么我经常收到 hit_for_passmiss

谢谢
jack

编辑

更多的谷歌搜索,我发现了这个

sub vcl_fetch {
unset beresp.http.set-cookie;
}

所以我想这会从响应对象中删除 cookie,有人可以解释为什么现在可以工作以及我做了什么才能让它工作吗?

编辑2

再次查看 varnishstat 表明这并没有像我预期的那样工作,而且我仍然有很多失误。

最佳答案

如果您有很多hit_for_pass决策,那么很有可能您在缓存本身中的存储量也很少,因此未命中。

我相信hit_for_pass仅从vcl_fetch方法抛出,因此值得一看服务器返回的内容。要考虑的事项包括:

  • remove beresp.http.Cache-Control;remove beresp.http.Pragma;阻止后端应用程序阻止缓存。
  • remove beresp.http.Expires;可以避免现在/过去的到期日期(您可能希望将其更改为远期到期,具体取决于您所提供的服务)。
  • 如果您的应用未提供Cookie,则remove beresp.http.Set-Cookie;将对您的hit_for_pass率产生重大影响。
  • 确保您设置了适当的beresp.ttl值。

  • 我还建议您阅读 this article about the 'Accept-Encoding' header(示例中的代码在 vcl_recv方法中)。

    关于php - 调试Varnish的hit_for_pass对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740270/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com