查看nginx cache命中率

Posted 割肉机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看nginx cache命中率相关的知识,希望对你有一定的参考价值。

一、在http header上增加命中显示

nginx提供了$upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个http头来显示这一状态,达到类似squid的效果。

而通过curl或浏览器查看到的header如下:

$upstream_cache_status包含以下几种状态:

·MISS 未命中,请求被传送到后端
·HIT 缓存命中
·EXPIRED 缓存已经过期请求被传送到后端
·UPDATING 正在更新缓存,将使用旧的应答
·STALE 后端将得到过期的应答

二、nginx cache命中率统计

即然nginx为我们提供了$upstream_cache_status函数,自然可以将命中状态写入到日志中。具体可以如下定义日志格式:

命中率统计方法:用HIT的数量除以日志总量得出缓存命中率:

了解了原理以后,也可以通过crontab脚本将每天的命中率统计到一个日志中,以备查看。

访脚本的内容为:

转自:http://www.361way.com/nginx-cache/2665.html

 
 




以上是关于查看nginx cache命中率的主要内容,如果未能解决你的问题,请参考以下文章

L1 Cache, L2 Cache读取命中率与时钟周期计算

Cache 命中率

MySQL缓存机制

mysql 缓存机制

Nginx内嵌Lua脚本提高分布式缓存命中率

监控varnish的缓存命中率