MySQL 8.0 新参数 innodb_idle_flush_pct

innodb_idle_flush_pct 参数是 MySQL 8.0.18 版本引入的新参数,用于InnoDB空闲状态下,限制刷脏页的速度。

innodb_idle_flush_pct:

  • 作用范围:Global
  • 动态修改:Yes
  • 默认值:100
  • 最小值:0
  • 最大值:100

innodb_idle_flush_pct 的值是一个百分比,该百分比乘以基数,也就是参数 innodb_io_capacity 值,获得的结果即为InnoDB空闲状态下刷脏页的速度。

举个例子:

设置innodb_io_capacity=1000,设置innodb_idle_flush_pct=50,那么在空闲状态下,InnoDB刷脏页的速度为 500。

innodb_idle_flush_pct 参数源码分析:

源码版本:8.0.20

innodb_idle_flush_pct默认值为100,如下:

// 源码文件 srv0srv.cc const ulong srv_idle_flush_pct_default = 100; ulong srv_idle_flush_pct = srv_idle_flush_pct_default;