如何检查所选的清漆缓存大小是否理想?


20

我使用以下方法将Varnish缓存配置为使用512 MB的缓存大小:

varnishd ... -s file,/var/cache/varnish.cache,512M

问题:

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

Answers:


18

我找到了解决方案:

您可以通过运行监视Varnish已分配的最大高速缓存大小(在这种情况下为512 MB)有多少varnishstat。然后查找输出行“已分配字节”和“可用字节”。

以下关系成立:

Command line configuration of max size = [bytes allocated] + [bytes free]

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


14
还有一个更好看的指标是“ n_lru_nuked”(varnishstat -1 -f n_lru_nuked)-它显示从缓存中删除的对象数量。
knorv

1
varnishstat -f SMF.s0.c_bytes,SMF.s0.g_space
choonkeat 2015年

15

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

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


什么if your tail is long意思
cherouvim

我认为在这种情况下,这意味着如果您有很多很少使用的项目最终存储在缓存中,则将占用所有的缓存内存。它引用了这个概念:en.wikipedia.org/wiki/Long_tail
cam8001 2016年

1

除非您希望所有数据都适合缓存,否则我将查看缓存命中与缓存未命中的比率。您得到的收益递减。将缓存加倍可能会使您的未命中率减半,当一半的请求未缓存时,这是一个很大的胜利,而在90%的请求中,则没有那么多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.