• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MyISAM中key_buffer_size的设置_MySQL

mysql 搞代码 4年前 (2022-01-09) 23次浏览 已收录 0个评论

gaodaima.com

MyISAM中key_buffer_size的设置

Key_read_requests和Key_reads就是两个计数器,它们的含义如下:

Key_read_requests:从缓存读取索引的请求次数。

Key_reads:从磁盘读取索引的请求次数。

通常人们认为Key_read_requests / Key_reads越大越好,否则就应该增大key_buffer_size的设置,但通过计数器的比例来调优有两个问题:

问题一:比例本文来源gao@dai!ma.com搞$代^码!网7并不显示数量的绝对值大小

问题二:计数器并没有考虑时间因素

虽说Key_read_requests大比小好,但是对于系统调优而言,更有意义的应该是单位时间内的Key_reads:

Key_reads / Uptime

你可以通过命令行得到一个实时的数据结果,比如:

# mysqladmin ext -ri10 | grep Key_reads

| Key_reads | 83777189 |

| Key_reads | 211 |

| Key_reads | 177 |

| Key_reads | 202 |

提示:命令里的mysqladmin ext其实就是mysqladmin extended-status,你甚至可以简写成mysqladmin e。

其中第一行表示的是汇总数值,所以这里不必考虑,下面的每行数值都表示10秒内的数据变化,从这份数据可以看出每10秒系统大约会出现200次Key_reads访问,折合到每1秒就是20次左右,至于这个数值到底合理与否,就由服务器的磁盘能力而定了。

顺便说一句,为啥数据按10秒取样,而不是直接按1秒取样?这里看看按1秒的结果:

# mysqladmin ext -ri1 | grep Key_reads

| Key_reads | 83776743 |

| Key_reads | 7 |

| Key_reads | 7 |

| Key_reads | 38 |

可以看到,由于时间段过小,数据变化比较剧烈,不容易直观估计大小,所以通常数据按照10秒或者60秒之类的时间段来取样是更好的。

忘记:Key_read_requests / Key_reads

牢记:Key_reads / Uptime

gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MyISAM中key_buffer_size的设置_MySQL

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址