InnoDB体系结构学习笔记(3)

Async/Sync Flush Checkpoint指的是重做日志不可用的情况,这是需要强制将一些页刷新回磁盘(这里和上面的分析有一些冲突,希望可以交流学习),而此时是从脏页列表中选取的。这包含一系列的触发的判断条件,目的是为了保证重做日志的循环使用的可用性。在InnoDB 1.2.x版本之前,Async Flush Checkpoint会阻塞发现问题的用户查询线程,而Sync Flush Checkpoint会阻塞所有的用户查询线程,并且等待脏页刷新完成。从InnoDB 1.2.x版本以后,也就是MySQL 5.6版本,这部分被放到单独的Page Cleaner Thread中,不会阻塞用户查询线程。

最后一种Checkpoint的情况是Dirty Page too much,即脏页数据太多,导致强制执行Checkpoint。其目的是保证缓冲池中有足够可用的页,由参数innodb_max_drity_pages_pct控制,目前默认值75,即75%。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/932cc4095322a45ecdd8721cfed585de.html