黄聪:Mysql5.6缓存命中率

MySQL缓存命中率,网上说法不一,下面我说下我的看法,大家轻拍:

总的select查询数等于com_select(没命中) + qcache_hits(命中) + 解析错误的查询。

再来看看Com_select变量:

mysql> show global status like ‘Com_select‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 46    |
+---------------+-------+  

com_select等于qcache_inserts(缓存失效) + qcache_not_cache(没有缓存) + 权限检查错误的查询。

因此,Mysql的查询缓存命中率 ≈ qcache_hits / (qcache_hits + com_select)

查询缓存变量:

mysql> show global status like ‘QCache%‘
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 1        |
| Qcache_free_memory      | 18856920 |
| Qcache_hits             | 3        |
| Qcache_inserts          | 20       |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 26       |
| Qcache_queries_in_cache | 0        |
| Qcache_total_blocks     | 1        |
+-------------------------+----------+ 

因此本例中的查询缓存命中率 ≈ 3/(3+46) = 6.12%

查询缓存变量含义:


Qcache_free_blocks

目前还处于空闲状态的 Query Cache中内存 Block 数目,数目大说明可能有碎片。FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块。

Qcache_free_memory

缓存中的空闲内存总量。

Qcache_hits

缓存命中次数。

Qcache_inserts

缓存失效次数。

Qcache_lowmem_prunes


缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看;如果这个数字在不断增长,就表示可能碎片非常严重,或者内存很少。(上面的free_blocks和free_memory可以告诉您属于哪种情况)。


Qcache_not_cached

不适合进行缓存的查询的数量,通常是由于这些查询不是SELECT语句以及由于query_cache_type设置的不会被Cache的查询。

Qcache_queries_in_cache

当前缓存的查询(和响应)的数量。

Qcache_total_blocks

缓存中块的数量。
时间: 2024-08-03 07:29:56

黄聪:Mysql5.6缓存命中率的相关文章

《黄聪:手机移动站SEO优化教程》4、如何实现手机移动网站和PC站点的自主适配

转载:http://blog.csdn.net/dog250/article/details/6896949 UDP协议疑难杂症全景解析 2011-10-22 19:26 2989人阅读 评论(4) 收藏 举报 tcp网络算法交通socket通讯 如今,但凡说精通网络的,第二个意思就是"精通TCP",事实上,很多自称精通TCP的家伙们只是精通socket接口而已,对TCP行为精通的并不多,笔者也不算精通,但绝对是中等以上水平.如果你真的精通TCP行为,那么本文不读也罢,直接发邮件给我,

黄聪:MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法(转)

转自:http://www.cnblogs.com/susuyu/archive/2013/05/28/3104249.html 环境:linux,mysql5.5.21 错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因: 同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞: 解

Mysql查询缓存碎片、缓存命中率及Nagios监控

Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STATUS LIKE 'qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 5 |

黄聪:《网站高转换率法则》#2:你的网站是垃圾站吗?

原文链接:http://user.qzone.qq.com/281808710/blog/1411485614 我们接着之前的话题继续聊聊. 我们先来看看,你的网站是否存在下面几个问题: 1.我的网站每天都有不少流量,但是我不懂怎么留住这些流量. 2.我不懂怎么让这些流量成交. 3.我不懂怎么让这些流量帮助我带来新的流量. 那么,这些站长为什么会苦恼于这几个问题呢?我们来试着寻找一下答案. 1.关于网站的那些事儿 在我看来,绝大多数存在以上问题的网站,一般都是这样诞生的: 无论哪个行业,你只要通

黄聪:如何用代码设置控制自己网站的网页在360浏览器打开时强制优先使用极速模式,而非兼容模式

最近用360浏览器访问自己的网站,发现都是被优先选用兼容模式打开,这使得网站很难看.为了让360浏览器打开网站的时候优先试用极速模式,找了一下官方论坛,发现了解决方案. 在head标签中添加一行代码: <html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body> </body> <

黄聪:WordPress 多站点建站教程(六):使用WP_Query、switch_to_blog函数实现获取子站点分类中的文章

首先在你使用主题的funtions.php里面添加下代码: //根据时间显示最新的分类文章内容,每个站点显示一篇内容 //$blog_id 子站点ID //$catid 分类ID wp_reset_query(); switch_to_blog($blog_id); global $post;?> $my_query2 = new WP_Query('showposts=1&order=desc&orderby=date&cat='.$catid); while ($my_q

缓存命中率

当程序需要第k+1层中的某个数据时d,会首先在它的缓存k层中寻找.如果数据刚好在k层中,就称为缓存命中(cache hit). 终端用户访问加速节点时,如果该节点有缓存住了要被访问的数据时就叫做命中,如果没有的话需要回原服务器取,就是没有命中. 取数据的过程与用户访问是同步进行的,所以即使是重新取的新数据,用户也不会感觉到有延时. 命中率=命中数/(命中数+没有命中数) 缓存命中率是判断加速效果好坏的重要因素之一. 缓存的命中率取决于很多的因素: 应用场景 看访问的频度,一个极少被访问到的缓存等

黄聪:如何删除wordpress登录之后wp_footer、wp_head自行加载的Open Sans字体、fonts.googleapis.com连接导致卡死的问题

有时候在浏览自己的WordPress网站时,发现网页长时间无响应, 卡在正在连接到fonts.googleapis.com ,如下图所示: 查看网页源码时,发现Head里面有如下一段代码: <link rel='stylesheet' id='open-sans-css' href='//fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=

监控varnish的缓存命中率

缓存命中率计算公式: MAIN.cache_hit / (MAIN.cache_hit + MAIN.cache_miss) 以下为监控varnish缓存命中率的脚本,一共有两个功能: 监控varnish总命中率,使用以上公式进行计算 监控最近一段时间内的命中率,方法是把当前获得的hit数和总数以变量形式输出到文件中,下一次执行该脚本时从文件中获取旧数据,使用当前数据与旧数据的差值进行计算命中率 使用方法: 传入totalHitRate 或 recentHitRate 以获取对应的值,可结合za