如何检查选择的 Varnish 缓存大小是否理想?

kno*_*orv 21 varnish

我已将 Varnish 缓存配置为使用 512 MB 的缓存大小,使用:

varnishd ... -s file,/var/cache/varnish.cache,512M
Run Code Online (Sandbox Code Playgroud)

问题:

  • 如何监控 512 MB 是否太小、太大或还可以?
  • 如何获取缓存的当前使用大小?
  • 如何查看由于缓存已满而从缓存中删除对象的频率?

kno*_*orv 19

我找到了解决方案:

您可以通过运行varnishstat. 然后查找输出行“已分配字节数”和“空闲字节数”。

以下关系成立:

Command line configuration of max size = [bytes allocated] + [bytes free]
Run Code Online (Sandbox Code Playgroud)

根据“空闲字节数”的大小,您可以微调缓存大小以找到合适的级别。

  • 一个更好的指标是“n_lru_nuked”(`varnishstat -1 -f n_lru_nuked`)——它显示了从缓存中删除的对象数量。 (15认同)

小智 16

n_lru_nuked柜台。每次增加时,Varnish 都会从缓存中抛出一些东西,因为它的存储空间不足。

理想情况下,您根本不希望 LRU 计数器增加,因为将内容踢出缓存通常意味着必须重新获取它,但是如果您的尾巴很长,则无法避免 LRU。