MySQL Master Thread的工作方式和相关参数

       在InnoDB 1.0.X版本之前,Master Thread线程在IO处理上有很多限制,这些限制是来自硬编码造成的,带来了IO性能上的不足或数据库的性能下降。这些限制包括:

      1、刷新100个脏页到磁盘

      2、合并20个插入缓冲

       所以在InnoDB 1.2.X之后的版本中,对这些做了改进。在这个版本中引入了:

参数:innodb_io_capacity,该参数用来表示磁盘IO的吞吐量,默认200;

          合并插入缓冲时,合并插入缓冲的数量为 innodb_io_capacity*5%;

          在从缓冲刷新脏页时,刷新脏页的数量为innodb_io_capacity;

参数:innodb_max_dirty_pages_pct 表示脏页占缓冲池的百分比,通过测试发现innodb_max_dirty_pages_pct=75%的时候,性能相对最好。

参数:innodb_adaptive_flushing  该参数影响每秒刷新脏页的数量。通过该参数的引入,即使脏页的百分比小于innodb_max_dirty_pages_pct的时候,也会触发脏页的刷新。

参数:innodb_purge_batch_size 该参数可以控制每次full purge回收的undo页的数量。

Guess you like

Origin blog.csdn.net/David_ifx/article/details/120935774