InnoDB在什么情况下会触发检查点checkpoint ?
时间:2021-07-01 10:21:17
帮助过:5人阅读
?
一、MySQL的checkpoint分类
1、sharp
checkpoint(激烈检查点,要求尽快将所有脏页都刷到磁盘上,对I
/O资源的占有优先级高)
2、fuzzy
checkpoint(模糊检查点,会根据系统负载及脏页数量适当平衡,不要求立即将所有脏页写入磁盘,这事默认的方式)
二、触发时机
1、数据库正常关闭时,即innodb_fast_shutdown
=0时需要执行sharp
checkpoint
2、redo log发生切换时或者redo log快满的时候进行fuzzy
checkpoint
3、master thread每隔1秒或10秒定期进行fuzzy
checkpoint
4、innodb保证有足够多的空闲page,如果发现不足,需要移除lru list末尾的page,如果这些page是脏页,那么也需要fuzzy
checkpoint
5、innodb buffer pool中脏页比超过innodb_max_dirty_pages_pct时也会触发fuzzy
checkpoint
三、checkpoint相关参数及状态
1、innodb_fast_shutdown
2、innodb_io_capacity
/innodb_io_capacity_max
3、innodb_lru_scan_depth
4、innodb_max_dirty_pages_pct
/innodb_max_dirty_pages_pct_lwm
5、Innodb_buffer_pool_pages_dirty
/Innodb_buffer_pool_pages_total
6、Innodb_buffer_pool_wait_free
InnoDB在什么情况下会触发检查点checkpoint ?
标签:int fast mys shu master pool 平衡 检查 优先级