忽略mysql的key cache hit ratio

来源:互联网 发布:2016年十大网络歌曲 编辑:程序博客网 时间:2024/05/21 11:52

Why you should ignore MySQL’s key cache hit ratio
http://www.mysqlperformanceblog.com/2010/02/28/why-you-should-ignore-mysqls-key-cache-hit-ratio/

不要相信mysql的key cache hit ratio:
key cache hit ratio = 1 - key_reads / key_read_requests
key_reads:从磁盘中读块的数量
key_read_requests:从缓存中请求读块的数量

不好的建议是:
(1)你应当注意这个cache hit ratio
(2)并且你应当根据这个比率设置你的key_buffer_size的大小

以上的建议有两个问题:
(1)这个比率是无量纲,即你不知道key_read_requests和key_reads是处于什么数量级别的,因此你无法评估这个值
(2)它没有时间因素,即这个比值不知道其时间跨度,也无法评估这个值的优劣

如果要确实使用这个值来评估优劣,那需要一些假定:
(1)key_read需对应一次磁盘I/O的物理读取
(2)从磁盘中找此key和从缓存中找此key是更慢的
(3)一个key_read是一次随机的磁盘存取
基于以上几点:则需要减少key_reads的数量
key_cache_miss_rate = key_reads / uptime

怎么样设置key_buffer_size大小呢?
可以设置一个很大的key_buffer_size,然后插入一些数据,执行一些查询,每隔一段时间测量key_buffer_size的使用大小,绘制曲线图,取其最高点的值作为key_buffer_size的大小。

原创粉丝点击