1.什么是刷脏
2.刷脏的场景
- 1.redolog日志满
- 2.bufferpool满
- 3.间歇性flush
- 4.关闭实例flush
3.刷脏频率跟什么参数有关?
- 实时刷脏算法
主要与如下参数有关:
Innodb_io_capcity 是代表全力刷脏的速度
Innodb_max_dirty_pages_pct 代表默认脏页最大占比
Innodb_buffer_pool_pages_dirty / Innodb_buffer_pool_pages_total :当前脏页占比
log_lsn_current - log_lsn_checkpoint:差值代表没有刷脏的数据量
代码语言:txt
复制 flush_dirty_ratio = innodb_io_capacity * R%
R = Max(f1,f2)
f1:
M = Innodb_buffer_pool_pages_dirty / Innodb_buffer_pool_pages_total
if M >= Innodb_max_dirty_pages_pct then
return 100
return 100*M/innodb_max_dirty_pages_pct
f2:
x = log_lsn_current - log_lsn_checkpoint
f2 = F(x) (f2: 0-100)