是否可以配置 Varnish 4 来缓存所有内容,无论它是什么?我尝试了这里提到的内容:http://www.atomictag.com/2016/04/25/varnish-cache-all/但我的命中率仍然很低。
如果可以的话,我可以将 Varnish 配置为每 15 分钟左右从后端刷新一次缓存。我知道这不是最佳做法,但如果我可以提高网站加载速度,我愿意向网站访问者提供 15 分钟前的内容。
Varnish 服务器有 32 GB 的 RAM,但只使用了 8 GB。我已配置 -malloc,25G。
答案1
如果您已经尝试过set beresp.ttl = 1m;
按照链接中提到的方法操作,那么 Varnish 没有缓存太多数据的原因可能有多种。
- 用于
varnishlog
查看标头的详细信息以及 Varnish 在获取需要缓存的 URL 时采取的操作流程,例如:
sudo varnishlog -q 'ReqURL ~ "^/css/main.css" and RespHeader:Age == 0'
这将向您显示特定 URL 的未命中详情。
看看你是否正确地剥离了饼干https://www.varnish-cache.org/docs/4.1/users-guide/increasing-your-hitrate.html?highlight=cookies
如果您希望 Varnish 缓存更相似的 URL,您还可以覆盖 Varnish 使用的 Hash:https://varnish-cache.org/docs/trunk/users-guide/vcl-hashing.html