Google Cloud SQL不正确的innodb_buffer_pool_size吗?

时间:2019-05-09 00:01:27

标签: google-cloud-sql

我上周将Cloud SQL机器从“ db-f1-micro” 0.6GB RAM机器升级到了“ db-n1-standard-1” 3.75GB RAM机器。正在运行:

SELECT @@innodb_buffer_pool_size;

输出为:

1375731712

我相信是1.38GB。这是主数据库和副本数据库的内存利用率:

mem usage

对于这种机器类型,这似乎很低,但是研究(How to set innodb_buffer_pool_size in mysql in google cloud sql?)似乎没有,我可以更改innodb_buffer_pool_size。是否以某种方式动态设置并随着时间的推移逐渐增加?似乎没有达到谷歌针对这些目标的75-80%的范围。

1 个答案:

答案 0 :(得分:0)

innodb_buffer_pool_chunk_sizeinnodb_buffer_pool_instances的值是多少?

innodb_buffer_pool_size必须始终等于或等于这两个值的乘积,并且将自动调整为。块大小只能在启动时进行修改,如the docs page for InnoDB Buffer Pool Size configuration中所述。

特别是对于Google CloudSQL,innodb_buffer_pool_size的绝对大小和相对大小不仅取决于实例类型。我为GCP支持工作,在对我们的文档进行了一些研究之后,我可以得知池大小是根据内部公式自动配置的,该公式可能会发生变化。正在进行改进,以使实例对OOM更具弹性,而缓冲池的大小在其中起着重要的作用。

因此,可以预期的行为是,使用新的实例类型以及可能不同的innodb_buffer_pool_chunk_sizeinnodb_buffer_pool_instances,您的内存使用可能会发生很大变化。当前,用户无法控制innodb_buffer_pool_size