14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率:
主线程 在InnoDB 是一个线程 执行各种任务在后台。
很多这些任务是I/O相关的, 比如flush dirty pages 从buffer pool或者写changes 从insert buffer 到相应的 secondary indexes.
主要的thread 尝试执行那些任务 不影响正常的服务器的工作。
它尝试创建可用的空闲的I/O 和调整它的活动来利用空闲的能力。
历史上,InnoDB 已经使用一个硬编码值为100 IOPS(输入/输出操作 每秒) 作为服务器的总的I/O能力
mysql> show variables like '%innodb_io_capacity%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| innodb_io_capacity | 200 |
| innodb_io_capacity_max | 2000 |
+------------------------+-------+
2 rows in set (0.00 sec)
参数innodb_io_capacity 表明了总的I/O 可用容量对于InnoDB.
这个参数应该被设置为近似的 I/O操作的总量 ,系统每秒可以执行
值依赖于你的操作系统,当 innodb_io_capacity是被设置,
master threads 评估 I/O 可用贷款用于后台任务基于设置的值
innodb_io_capacity 设置是总的限制用于所有的buffer pool instances.
当 dirty pages被刷新, innodb_io_capacity 限制时是被平均分到所有的buffer pool instances.