首页 > 代码库 > 监控varnish的缓存命中率
监控varnish的缓存命中率
缓存命中率计算公式:
MAIN.cache_hit / (MAIN.cache_hit + MAIN.cache_miss)
以下为监控varnish缓存命中率的脚本,一共有两个功能:
监控varnish总命中率,使用以上公式进行计算
监控最近一段时间内的命中率,方法是把当前获得的hit数和总数以变量形式输出到文件中,下一次执行该脚本时从文件中获取旧数据,使用当前数据与旧数据的差值进行计算命中率
使用方法:
传入totalHitRate 或 recentHitRate 以获取对应的值,可结合zabbix做监控
#!/bin/bash totalHit=`varnishstat -1 | awk ‘/MAIN.cache_hit\>/{print $2}‘` totalMiss=`varnishstat -1 | awk ‘/MAIN.cache_miss\>/{print $2}‘` total=$[${totalHit}+${totalMiss}] echoTotalHitRate() { totalHitRate=$(awk ‘BEGIN{print "‘"$totalHit"‘"/"‘"$total"‘"}‘) echo ${totalHitRate} } echoRecentHitRate() { [ -f lastData ] && source `pwd`/lastData recentHit=$[$totalHit-${lastHit:-0}] recentTotal=$[$total-${lastTotal:-0}] echo "lastHit=$totalHit" > lastData echo "lastTotal=$total" >> lastData [ $recentTotal != "0" ] && recentHitRate=$(awk ‘BEGIN{print "‘"$recentHit"‘"/"‘"$recentTotal"‘"}‘) || recentHitRate=`echoTotalHitRate` echo ${recentHitRate} } case $1 in totalHitRate) echoTotalHitRate ;; recentHitRate) echoRecentHitRate ;; esac
监控varnish的缓存命中率
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。