• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 配置InnoDB后台 I / O线程数

    InnoDB使用后台线程服务各种类型的I / O请求。您可以使用innodb_read_io_threadsinnodb_write_io_threads配置参数配置服务于数据页上的I / O读写的后台线程数。这些参数分别表示用于读取和写入请求的后台线程数。它们在所有受支持的平台上均有效。您可以在MySQL选项文件(my.cnfmy.ini)中为这些参数设置值。您不能动态更改值。这些参数的默认值为4,允许值的范围为1-64

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

    在Linux系统上,InnoDB默认情况下使用异步I / O子系统对数据文件页面执行预读和写请求,这将更改InnoDB后台线程为这些类型的I / O请求提供服务的方式。有关更多信息,请参见“在Linux上使用异步I / O”。

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