Список содержимого кеша лака?

Есть ли способ перечислить содержимое хранилища кеша лака? Кроме того, было бы неплохо как-то перечислить наиболее частые хиты кэша.

Я нашел способ увидеть самые частые промахи в кэше, указав, что отправляется на сервер:

varnishtop -b -i TxURL

Было бы очень полезно посмотреть, какие мои верхние кеши попадают в URL-адреса.

Изменить: Я использую версию: varnish-3.0.3 revision 9e6a70f

Ответы

Ответ 1

Я думаю, что вы можете помочь:

Вы можете использовать параметр "Varnish: hitmiss" varnishncsa.

Сначала запишите образец журналов с помощью:

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

Эта функция не включена в лак, но вы можете легко добавить некоторые сценарии для этого.

  • Прежде всего вам нужно запустить varnishncsa как службу и записать вывод в ежедневный файл.
  • Затем добавьте в выходной формат по умолчанию не менее %{Varnish:hitmiss}x и %U (см. varnishncsa doc)
  • Наконец, напишите несколько сценариев, чтобы вычислить ваш главный URL, например, как показано ниже:
# we admit %{Varnish:hitmiss}x is the first column and %U the second
awk '$0 ~ / hit / { arr[$8]=arr[$8]+1 }END{ for(k in arr) { print arr[k]";"k } }' varnishncsa.log|sort -k 1 -nr |head

И не стесняйтесь обновлять для своих нужд.