您的位置:首页 > 数据库 > MySQL

忽略mysql的key cache hit ratio

2010-03-07 22:21 232 查看
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的大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: