数据库在innodb_buffer_pool_wait_free上停顿 - 空宝网


数据库在innodb_buffer_pool_wait_free上停顿

这种关系非常简单。每秒后台刷新线程将扫描innodb_lru_scan_depth* innodb_buffer_pool_instancesLRU列表条目,以尝试查找可写入磁盘的脏页。刷新的页面变得免费并添加到innodb_buffer_pool_pages_free。

如果在您的数据库中抛出的DML生成脏页的速度比刷新线程可以写出来的速度快,那么在某些时候innodb_buffer_pool_pages_free将会降低到零,并且innodb_buffer_pool_wait_free当服务器刷新脏页时,下一次尝试将页面读取到缓冲池将导致另一个页面同步到磁盘。

理想情况下,您希望后台刷新线程以相同的速率(平均)将脏页写入磁盘,因为它们被DML活动弄脏了。您可以通过增加来实现innodb_lru_scan_depth,这会增加在服务器需要更多空闲页面之前将脏页写入磁盘的可能性。


喜欢 (0)
[请支持作者一杯咖啡,谢谢]
分享 (0)