google-cloud-sql - 谷歌云sql不正确innodb_buffer_pool_size?
问题描述
上周,我将 Cloud SQL 机器从 'db-f1-micro' 0.6GB RAM 机器升级到了 'db-n1-standard-1' 3.75GB RAM 机器。跑步:
SELECT @@innodb_buffer_pool_size;
输出是:
1375731712
我相信是1.38GB。这是主要和副本的内存利用率:
对于这种机器类型,这似乎低得奇怪,但正在研究(如何在谷歌云 sql 中的 mysql 中设置 innodb_buffer_pool_size?)看来我无法更改 innodb_buffer_pool_size。这是否以某种方式动态设置并随着时间缓慢增加?似乎并不接近谷歌似乎针对这些目标的 75-80% 范围。
解决方案
innodb_buffer_pool_chunk_size
和的值是innodb_buffer_pool_instances
多少?
innodb_buffer_pool_size
必须始终等于或为这两个值的乘积的倍数,并且会自动调整为这样。块大小只能在启动时修改,如InnoDB 缓冲池大小配置的文档页面中所述。
特别是对于 Google CloudSQL,不仅是绝对的,而且相对大小也innodb_buffer_pool_size
取决于实例类型。我为 GCP 支持工作,在对我们的文档进行一些研究之后,我可以看出池大小是根据内部公式自动配置的,该公式可能会发生变化。正在进行改进以使实例对 OOM 更具弹性,缓冲池大小在这方面起着重要作用。
因此,对于您的新实例类型,可能会出现不同的预期行为,并且innodb_buffer_pool_chunk_size
您innodb_buffer_pool_instances
可能会获得完全改变的内存使用情况。目前,用户无法控制innodb_buffer_pool_size
.
推荐阅读
- c# - 使用 GSMComm 库获取 USSD 结果
- javascript - 为什么 Javascript ES6 不能调用匿名超函数?
- docker - 如何将配置文件推送到新的 oryd/hydra docker 镜像?
- selenium-webdriver - 如果结果没有按常规显示,我如何按类名查找元素?
- appium-android - 如何滚动/滑动页面的一部分?
- vue.js - Vue CLI 更新 cookie 还是更新存储?
- javascript - 与之前使用 getBoundingClientRect 放置的位置相比,元素的位置不会保持不变
- c# - Azure Web 服务 - 如何限制对公共站点的访问以实现合规性?
- pandas - Pandas 0.25.0:分类上的 groupby
- apache-poi - 如何从 Apache POI XWPFDocument 中获取脚注和段落?