【问题标题】:What happens when Varnish Cache is full?当清漆缓存已满时会发生什么?
【发布时间】:2011-12-22 10:21:27
【问题描述】:

我正在使用清漆 -s malloc,1G"

目前已满 98%。一旦它完全充满会发生什么?

用它净化?

也许清除旧图像/页面?

或者更好的是清除点击量最少的文件?

【问题讨论】:

    标签: caching garbage-collection varnish ttl


    【解决方案1】:

    看起来 Varnish 使用 LRU(最近最少使用)策略从缓存中删除项目,当缓存充满了 TTL(生存时间)尚未过期的东西(所以首先删除 TTL 已过期的东西,如果缓存仍然是完整的,删除最近最少访问的东西)。

    https://www.varnish-cache.org/trac/wiki/ArchitectureLRU

    请注意,您可以查看n_lru_nuked 计数器来查看由于 LRU 而从缓存中刷新的速率。

    【讨论】:

    • 我有很多命中率非常低的对象(大约 0.5)。我正在使用 IPB 论坛软件和 (community.invisionpower.com/topic/…) 以及基于建议的 vcls 的最佳命中率。在这种情况下,如果我将缓存降低到 512MB,我的命中率会变得最差吗?
    • @hydn: 缓存越小,你的命中率就越低……在一定程度上。这样想……如果你的缓存和你的数据库一样大,你将有 100% 的命中率(除了第一次读入新的/更新的记录)。如果您的缓存是 0MB,那么您的命中率为 0%……缓存中没有空间,所以总是进入数据库。通常有一个“最佳点”,其中一定数量的 RAM 会给你说 80% 的命中率,你必须为每个额外的 % 添加不成比例的 RAM。另一方面,如果您有 UNUSED RAM,不妨将其用作缓存。
    猜你喜欢
    • 2015-09-14
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 2018-07-19
    相关资源
    最近更新 更多