文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF(美国信纸) - 39.9 MB
PDF(A4) - 40.0 MB
手册页(TGZ) - 258.5 KB
手册页(Zip) - 365.5 KB
信息(Gzip) - 4.0 MB
信息(Zip) - 4.0 MB


MySQL 8.4 参考手册  /  ...  /  配置后台 InnoDB I/O 线程数

17.8.5 配置后台 InnoDB I/O 线程数

InnoDB 使用后台线程来处理各种类型的 I/O 请求。您可以使用 innodb_read_io_threadsinnodb_write_io_threads 配置参数来配置用于处理数据页上的读写 I/O 的后台线程数。这些参数分别表示用于读取和写入请求的后台线程数。它们对所有受支持的平台都有效。您可以在 MySQL 选项文件(my.cnfmy.ini)中设置这些参数的值;您不能动态地更改值。 innodb_read_io_threads 的默认值是系统上可用逻辑处理器数量除以 2,最小默认值为 4innodb_write_io_threads 的默认值为 4。这两个选项的允许值范围为 1-64

这些配置选项的目的是使 InnoDB 在高端系统上更具可扩展性。每个后台线程最多可以处理 256 个挂起的 I/O 请求。后台 I/O 的一个主要来源是预读请求。 InnoDB 尝试平衡传入请求的负载,以便大多数后台线程平等地共享工作。 InnoDB 还尝试将来自同一扩展区的读取请求分配给同一线程,以增加合并请求的机会。如果您有一个高端 I/O 子系统,并且在 SHOW ENGINE INNODB STATUS 输出中看到超过 64 × innodb_read_io_threads 个挂起的读取请求,则可以通过增加 innodb_read_io_threads 的值来提高性能。

在 Linux 系统上,InnoDB 默认使用异步 I/O 子系统来执行数据文件页的预读和写入请求,这改变了 InnoDB 后台线程处理这些类型 I/O 请求的方式。有关更多信息,请参阅第 17.8.6 节,“在 Linux 上使用异步 I/O”

有关 InnoDB I/O 性能的更多信息,请参阅第 10.5.8 节,“优化 InnoDB 磁盘 I/O”