Mysql InnoDB后台线程介绍

x33g5p2x  于2021-03-14 发布在 Mysql  
字(0.6k)|赞(0)|评价(0)|浏览(385)

Master Thread

Master Thread是一个非常核心的后台线程,主要负责将缓冲池的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、UNDO页的回收等。


IO Thread

在InnoDB存储引擎使用大量的AIO(Async IO) 来处理IO请求,这样可以极大提高数据库的性能。
在Linux平台下 IO Thread的数量不能进行调整,在windows平台1.0.x版本开始 分别使用 innodb_read_io_threads 和 innodb_write_io_theads参数进行设置,如:

mysql>SHOW VARIABLES LIKE 'innodb_version'\G;

mysql> SHOW VARIABLES LIKE 'innodb_%io_threads'\G;

通过SHOW ENGINE INNODB STATUS\G; 观察 InnoDB 中的IO Thread.


Purge Thread

事务被提交后,其所使用的undolog可能不再需要,因此需要Purge Thread来回收已经使用并分配的undo页。
在InnoDB 1.1 版本中 innodb_purge_rgreads设为大于1,存储启动将其设为1,并报错.

在InnoDB1.2版本开始 InnoDB 支持多个Purge Thread。


Page Cleaner Thread

Page Cleaner Thread在InnoDB 1.2.x版本中引入的。其作用是将之前版本中的脏页的刷新操作放入到单独的线程中完成。

相关文章

微信公众号

最新文章

更多