系统 innodb_buffer_pool_size 变量定义缓冲池大小。通常,推荐 innodb_buffer_pool_size 值为系统内存的 50% 到 75%。 innodb_buffer_pool_size 可以在服务器运行时动态配置。
在具有大量内存的系统上,您可以通过将缓冲池划分为多个 缓冲池实例来提高并发性。系统变量定义缓冲池实例的 innodb_buffer_pool_instances 数量。
缓冲池大小必须始终等于或倍数 innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances。如果配置 innodb_buffer_pool_size为不等于或倍数 innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances的值,缓冲池大小会自动调整为等于或倍数 innodb_buffer_pool_chunk_size* 的值innodb_buffer_pool_instances。
innodb_buffer_pool_chunk_size 可以以 1MB(1048576 字节)为单位增加或减少,但只能在启动时、命令行字符串或 MySQL 配置文件中修改。
为避免潜在的性能问题,块 ( innodb_buffer_pool_size/ innodb_buffer_pool_chunk_size) 的数量不应超过 1000。
innodb_buffer_pool_instances配置选项设置为大于 1(默认值)到 64(最大值)的值
| innodb_buffer_pool_size | 163208757248 |
| innodb_buffer_pool_instances | 32 |
| innodb_buffer_pool