mysql刷脏的几种场景以及相关参数

2022-07-30 17:03:43 浏览数 (1)

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)   

0 人点赞