Список содержимого кеша лака?
Есть ли способ перечислить содержимое хранилища кеша лака? Кроме того, было бы неплохо как-то перечислить наиболее частые хиты кэша.
Я нашел способ увидеть самые частые промахи в кэше, указав, что отправляется на сервер:
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
И не стесняйтесь обновлять для своих нужд.