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 Multiple Buffer Pool Instances

17.8.3.2 配置多个缓冲池实例

对于具有多个吉字节缓冲池的系统,分割缓冲池为单独的实例可以提高并发性,通过减少不同线程读取和写入到缓存页面的竞争。这一特性通常适用于具有多个吉字节缓冲池大小的系统。使用innodb_buffer_pool_instances配置选项来配置多个缓冲池实例,您可能还需要调整innodb_buffer_pool_size值。

当InnoDB缓冲池很大时,许多数据请求可以通过从内存中检索来满足。您可能会遇到多个线程同时访问缓冲池的瓶颈。您可以启用多个缓冲池以最小化这种竞争。每个页面在缓冲池中被分配给一个缓冲池实例,使用哈希函数随机分配。每个缓冲池管理其自己的空闲列表、刷新列表、LRU和与缓冲池相关的所有数据结构。

要启用多个缓冲池实例,设置innodb_buffer_pool_instances配置选项的值大于1(默认值)到64(最大值)。这个选项只有在您将innodb_buffer_pool_size设置为1GB或更大的大小时才生效。您指定的总大小将被分配给所有缓冲池。为了获得最佳效率,请同时指定innodb_buffer_pool_instancesinnodb_buffer_pool_size,以便每个缓冲池实例至少为1GB。

关于修改InnoDB缓冲池大小的信息,请见第17.8.3.1节,“配置InnoDB缓冲池大小”