Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Configuring the Number of Background InnoDB I/O Threads

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

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

这些配置选项旨在使InnoDB在高端系统上更加可扩展。每个背景线程可以处理最多256个待处理I/O请求。背景I/O的主要来源是读前置请求。InnoDB尝试平衡incoming请求的负载,以便大多数背景线程均匀地共享工作。InnoDB还尝试将来自同一个extent的读请求分配给同一个线程,以增加请求合并的机会。如果您拥有高端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”

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