MySQL 5.7: Page Cleaner的刷脏问题

  1. 云栖社区>
  2. 博客>
  3. 正文

MySQL 5.7: Page Cleaner的刷脏问题

zhaiwx_yinfeng 2016-05-10 15:13:45 浏览1443
展开阅读全文

之前我已经写过一篇博客,讨论过在flush LRU_LIST/FLUSH_LIST时,5.7对其做的优化,总的来说,就是使用类似Hazard Pointer的方式,避免在flush的过程中重复扫描LIST,将时间复杂度从O(N*N)下降到了O(N)。有兴趣的同学可以翻阅下这篇博客:http://mysqllover.com/?p=1031

本文的目的主要是补充下5.7目前所做的多个page cleaner的实现思路,社区相关的bug讨论,以及我近期对page cleaner所做的一些优化工作。

支持多个Page cleaner

为了提升扩展性和刷脏效率,在5.7.4版本里引入了多个page cleaner线程。从而达到并行刷脏的效果。

在该版本中,Page cleaner并未和buffer pool绑定,其模型为一个协调线程 + 多个工作

网友评论

登录后评论
0/500
评论
zhaiwx_yinfeng
+ 关注