【问题标题】:Varnish 6.1 : retired return(miss) from vcl_hit {}Varnish 6.1:从 vcl_hit {} 退出返回(未命中)
【发布时间】:2019-08-21 06:25:03
【问题描述】:

我刚刚升级到 varnish 6.1 附带的 debian 10

我读到 return(miss) 现在已贬值,然后我查看了 builtin.vcl

sub vcl_hit {
    return (deliver);
}

文档中提到要返回(错过),我们现在必须通过 return(restart) + req.hash_always_miss 来完成。

所以这是我的问题,varnish 默认如何处理优雅和保持?

我们必须实现自我的恩典吗?

我们可以覆盖默认行为吗?

如果 return(deliver) 管理宽限期,那么在不使用“永久失败”后端的技巧的情况下,似乎不可能强制发送已进入保留期的对象?

还是我遗漏了一些明显的东西?

【问题讨论】:

    标签: varnish varnish-vcl


    【解决方案1】:

    Varnish Cache 开箱即用地实现了优雅(即交付陈旧的对象和后台获取以刷新它们)。最近 Varnish 版本的变化是控制它的方法。以前它是vcl_hit,但已被弃用(有关该更改的许多详细信息可在https://github.com/varnishcache/varnish-cache/issues/1799 获得)。新方法基于req.grace 变量(它在 Varnish 4.0 中被删除,但现在又回来了)。

    如果 TTL 和宽限期都已过期(并且如果对象在存储中仍然可用,因为 keep > 0),Varnish Cache 将发送一个条件 If-None-Match / If-Modified-Since HTTP 请求到如果可能,请使用后端,如果后端提供 304 响应,则使用仍在缓存中的对象。

    【讨论】:

    • 感谢您提供的信息...但这里我们将 wordpress 作为后端应用程序。 (我可以依靠它来查找 304 而不是构建页面花费更少的时间吗?)而且我很高兴机器人在刷新缓存(每天 5 万次点击)和快速的机器人的同时获得停滞的内容响应网站...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多