有没有办法列出 varnish 缓存存储的内容?另外,如果能以某种方式列出最频繁的缓存命中,那就太好了。
我找到了一种查看最频繁的缓存未命中的方法,即列出发送到后端的内容:
varnishtop -b -i TxURL
查看我的顶级缓存命中 URL 有哪些将会非常有用。
答案1
这个答案最初发布在 stackoverflow 上,我认为它很有帮助: https://stackoverflow.com/questions/14214104/list-contents-of-varnish-cache
您可以使用varnishncsa的参数“Varnish:hitmiss”。
首先使用以下命令捕获日志样本:
varnishncsa -F '%U%q %{Varnish:hitmiss}x' -n NAME -w /path/requests.logs
进而:
sort -k 1 /path/requests.logs | uniq -c | sort -k 1 -n -r | head -25