Skip to content

innodb_io_capacity

xiaoboluo768 edited this page Jun 14, 2020 · 2 revisions
  • innodb_io_capacity参数设置由InnoDB后台任务执行的I / O活动的上限,例如从缓冲池刷新页面以及从更改缓冲区合并数据。
    • innodb_io_capacity限制是所有缓冲池实例的总限制。当刷新脏页时,限制值按照缓冲池数量平均分配
    • innodb_io_capacity应该设置为磁盘设备每秒可以执行的I / O操作数。理想情况下,保持设置尽可能低,但不要低到影响后台线程活动。如果值太高,则会导致数据快速从缓冲池中被删除,但可以对insert buffer快速地插入缓冲区提供显着的益处
    • 全局变量,动态变量(动态修改该值需要有super权限),默认值为200,整型值,对于有更高IO能力的磁盘设备,比如:SAS阵列可以设置为1000,高端的SSD盘或SSD阵列可以设置为4000,PCIE卡可以设置为10000或更多,但不建议超过20000,过大的值实践表明并没有明显的好处,除非你能证明你的系统在20000的IOPS下仍然IO性能不足。
    • 注意:该变量设置的数值是innodb的总IO限制,包括buffer pool中的脏页刷新,修改插入缓冲并写入到辅助索引等,如果buffer pool instance有多个,在刷新脏页时,这个IO限制值是平均分配到每个instance的,另外,在5.7.8之后的版本新引入了一个参数innodb_flush_sync,该参数默认为ON,该参数设置为ON时,会导致在做checkpoint时的IO活动突增的情况下,忽略innodb_io_capacity设置的限制值。

上一篇:innodb_buffer_pool_dump_at_shutdown | 下一篇:innodb_flush_method

Clone this wiki locally