假设一个主要包含 InnoDB 表的生产 OLTP 系统
任何详述特定status变量和诊断的轶事将不胜感激。
哪个更好:
因此,我不确定如何推理缓冲池实例以及整个“在拥有如此大的 InnoDB 缓冲池大小时使用实例或遭受操作系统交换”。
我innodb_buffer_pool_size在具有 12 个 CPU 内核的服务器上将其设置为 20GB。我的完整数据库是 11gb,但其中大部分是几乎从未使用过的存档表。总查询数据约为 3 gb,频繁查询的数据约为 1.25 gb。
我应该设置什么innodb_buffer_pool_instances?
innodb_buffer_pool_size / 总查询数据 = 6 个池实例innodb_buffer_pool_size / 经常查询的数据 = 16 个池实例通常我会选择选项 #2,但从逻辑上讲,任何时候可以使用的缓冲池数量似乎不超过 CPU 内核的总数。
设置innodb_buffer_pool_instances为超过 CPU 核数是一种浪费吗?