14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate
主的master thread 在InnoDB 是一个thread 在后台执行各种任务。
很多那些任务是I/O相关的, 比如flush dirty pages 从buffer pool 或者
从insert buffer 写changes 到相应的secondary indexes.
master thread 尝试执行那些任务不影响服务器的正常运行。
它尝试 评估空闲的free I/O 可用带宽和调整它的活动来利用这部分空闲的能力。
历史上,innodb 已经使用一个硬片吗值为100 IOPS(输入/输出 操作每秒)
作为总的I/O能力
参数innodb_io_capacity 表明全部的I/O 可用容量对于InnoDB.
这个参数 应该被设置为I/O操作数量的近似值,系统每秒执行的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 被设置,
master threads 评估 I/O 可用带宽对于后台任务基于设置的值, 设置值为100 恢复老的行为。
你可以设置 innodb_io_capacity 的值为任何数字100 或者更大,
默认值是200,反映典型的modern I/O 是被的性能是更高的相比早期的MySQL.
innodb_io_capacity 设置是一个总的限制对于所有buffer pool 实例,
当dirty pages 被刷新,innodb_io_capacity 限制是被分成相等的在buffer pool instances.
你可以设置参数的值在MySQL 选项文件或者SET GLOBAL 动态的改变它