jos*_*hm1 3 postgresql amazon-web-services amazon-rds
将我的 RDS postgres 从 9.4 升级到 9.5 后,我看到 CPU 保持在 100% 左右的时间超过 8 小时。
我看到相同的数据库查询,在我手动取消它们之前,过去需要 < 1 秒运行 10 分钟以上。
我不是在处理大型数据库。大多数被查询的表<10000行
与正常情况相比,我的读取 IOPS 和写入 IOPS 非常低(主要是因为站点关闭并且我关闭了非关键服务。
我一直在关注pg_stat_activity活动查询,没有看到任何异常(除了过去需要 < 1 秒的长时间运行的查询)。
我确实从 9.5 升级到 9.6 只是为了它,但它没有帮助。
调试这个有什么建议吗?我很难过,许多网站都关闭了。
小智 5
ANALYZE VERBOSE;
Run Code Online (Sandbox Code Playgroud)
我遇到了一个非常相似的问题,一直到 postgres 的版本来回移动,并且能够通过运行ANALYZE来解决它。
问题是 postgres 生成的查询计划针对以前版本的 postgres 进行了优化,当您执行 RDS 更新时,它不会隐式地重新生成这些计划,这需要手动完成(我确定 AWS 不这样做是有原因的)不要手动执行此操作,但我真的不知道为什么)。
在我的情况下,我看到大约一周的 CPU 使用率极高,就像你的情况一样,然后在运行 ANALYZE 后,我的 CPU 回落到以前的基线。正如您在下图中看到的,升级(在我的例子中是 9.4 - 9.5)是在 11/27 运行的,分析查询是在 12/02 运行的。
(VERBOSE 不是绝对必要的,但能够观察命令的进度很有用)
| 归档时间: |
|
| 查看次数: |
1024 次 |
| 最近记录: |