我的innodb缓冲池大小为8GB,我的数据库大小为6GB,但我看到了以下内容:
Innodb_buffer_pool_reads 263.5k - InnoDB无法满足从缓冲池读取的逻辑读取数,必须进行单页读取。
有了硬件(i7,24 i7内存,SSD)和那么多可用内存,为什么查询要执行“单页读取?”
如何减少这种单页读取的次数?
发布于 2014-08-28 20:00:10
为什么查询要执行“单页读取?”
因为页面在引擎可用之前至少需要读入缓冲池一次。看看你的数字,263,500读物将解释为
263,500 pages x 16 KB/page = 4,216,000 KB read这甚至不如你的数据库的大小。此外,与3,500,000,000 innodb_buffer_pool_read_requests相比,这是一个很小的数字--在您的例子中,几乎所有的服务都是从缓冲池中提供的,而没有磁盘I/O。
发布于 2012-09-01 02:57:59
所以这些数字不以字节为单位。但是#的查询..。从数学上看,你似乎很低,这是一件好事。数学是
(Innodb_buffer_pool_read_requests / Innodb_buffer_pool_reads) * 100如果那个数字小于1,你的身体状况很好。了解池是否需要更多内存的另一个好方法是
SHOW ENGINE INNODB STATUS;朝向顶端你会看到这个
Buffer pool hit rate 1000 / 1000, young-making rate 1 / 1000 not 0 / 1000如果你接近1000/1000,那是件好事。任何低于900 / 1000的东西,我都会开始增加更多的内存。
https://serverfault.com/questions/423459
复制相似问题