【问题标题】:Varnish removes objects?清漆去除物体?
【发布时间】:2020-03-10 23:47:17
【问题描述】:

我的清漆服务器有问题。清漆的主要任务是缓存图像。在配置中,我将图像的 TTL 指定为 365d。我注意到,一天后我收到了 X-Cache MISS 标头。

再做一个请求后是 HIT,但一天后又是 MISS。为什么会这样? varnish 服务有 30 GB RAM 内存可用(100% 使用率)并额外使用 45 GB 虚拟内存。图片因空间不足而被删除?

【问题讨论】:

    标签: varnish varnish-4


    【解决方案1】:

    很可能是的。检查 varnishstat 中的 lru_nuked 计数器,如果大于 0 则说明您没有足够的空间进行缓存。

    【讨论】:

    • 感谢您的提示。不幸的是,varnishstat 只向我显示了一项名为“varnish”(用于 html/json)的服务,并且它没有使用 100% 分配的 ram,并且该计数器不存在(可能是因为它未满)。对于图像,我有另一个名为“varnish-images”的服务,我如何通过 varnishstat 访问它?有没有办法做到这一点?
    • 我注意到 varnishstat 使用上次重新启动的服务。是否有可能在不重新启动的情况下选择服务?
    • 我能够在启动后检查 varnishstat 的 varnish-images 服务并等到它满了,是的,你是对的。在获得 100% 的内存使用后,lru_nuked 参数已经显示在那里并且它正在快速增长。我对这种缓存不满意。我有 92k 缓存对象,其中 48k 是过期对象(TTL 0 用于另一个存储的 302 重定向(加上重新创建过程)或 4** 代码),然后它开始删除最旧的。如何改进这种缓存?只能通过添加越来越多的 RAM?
    • 也许改进一个更好的缓存失效策略是有意义的,这样当你不需要缓存中的内容时,你可以将它驱逐。我建议看一下“purging”和“vmod-ykey”:docs.varnish-software.com/tutorials/cache-invalidation
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2013-03-04
    相关资源
    最近更新 更多