gpt4 book ai didi

caching - Varnish 命中率是多少

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

当我们在 varnish 4.1 服务器后面的应用程序上运行负载测试时,我们注意到在服务器错误(Cache-Control: no-cache 返回 500)之后,我们在后端遇到了负载高峰。

在 Varnish 配置中潜水后,我们发现那条线 https://github.com/varnishcache/varnish-cache/blob/master/bin/varnishd/builtin.vcl#L157
:

sub vcl_backend_response {
if (bereq.uncacheable) {
return (deliver);
} else if (beresp.ttl <= 0s ||
beresp.http.Set-Cookie ||
beresp.http.Surrogate-control ~ "no-store" ||
(!beresp.http.Surrogate-Control &&
beresp.http.Cache-Control ~ "no-cache|no-store|private") ||
beresp.http.Vary == "*") {
# Mark as "Hit-For-Miss" for the next 2 minutes
set beresp.ttl = 120s;
set beresp.uncacheable = true;
}
return (deliver);
}

如果页面返回 no-cache ,则在接下来的 2 分钟内将无法缓存, 即使下一次调用后端返回有效的可缓存响应

我无法弄清楚为什么这是默认行为(根据存储库历史记录,很久以前......)

就我而言,我后端的错误会生成 500 无缓存,然后导致更多流量,最后导致 503 ...

我打算删除此规则,但我想先了解一下。

任何线索?

提前致谢
M.

最佳答案

关于caching - Varnish 命中率是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42898378/

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