文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  配置多个缓冲池实例

17.8.3.2 配置多个缓冲池实例

对于缓冲池大小在多个 GB 范围内的系统,将缓冲池划分为单独的实例可以通过减少不同线程对缓存页进行读写时的争用,从而提高并发性。此功能通常适用于具有多个 GB 范围的 缓冲池 大小的系统。多个缓冲池实例是使用 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 缓冲池大小”