列出 varnish 缓存的内容

列出 varnish 缓存的内容

有没有办法列出 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

答案2

无法列出缓存的内容。

您可以使用以下方式获取最常请求的 URL 列表

varnishtop -i RxURL

但没有简单的方法可以判断哪些是缓存命中,哪些是未命中。有一个脚本这里这可能会对你有帮助。

相关内容