Master Thread是一个非常核心的后台线程,主要负责将缓冲池的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、UNDO页的回收等。
在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.
事务被提交后,其所使用的undolog可能不再需要,因此需要Purge Thread来回收已经使用并分配的undo页。
在InnoDB 1.1 版本中 innodb_purge_rgreads设为大于1,存储启动将其设为1,并报错.
在InnoDB1.2版本开始 InnoDB 支持多个Purge Thread。
Page Cleaner Thread在InnoDB 1.2.x版本中引入的。其作用是将之前版本中的脏页的刷新操作放入到单独的线程中完成。
内容来源于网络,如有侵权,请联系作者删除!