Len*_*ran 10 postgresql amazon-rds cpu
几天前,我将 RDS 实例 (db.t2.medium) 从 Postgres 9.5 升级到 9.6。升级后,CPU 使用率一直几乎是 100%。这导致我的申请失败。假设问题出在9.6版本上,我又升级到10.6。它变得更好,但仍然比原始 9.5 版本的 CPU 使用率高得多。
我在升级过程中没有更改应用程序代码。如何检查 CPU 使用率增加的原因并可能修复它?
tan*_*art 20
ANALYZE VERBOSE;
Run Code Online (Sandbox Code Playgroud)
您需要使用上述命令对整个数据库运行ANALYZE查询。
问题是 postgres 生成的查询计划针对以前版本的 postgres 进行了优化,当您执行 RDS 更新时,它不会隐式地重新生成这些计划,这需要手动完成(我确定 AWS 不这样做是有原因的)不要手动执行此操作,但我真的不知道为什么)。
就我而言,我看到大约一周的 CPU 使用率极高,就像你的情况一样,然后在运行 ANALYZE 后,我的 CPU 回落到以前的基线。正如您在下图中看到的,升级(在我的例子中是 9.4 - 9.5)是在 11/27 运行的,分析查询是在 12/02 运行的。
(VERBOSE 不是绝对必要的,但能够观察命令的进度很有用)
| 归档时间: |
|
| 查看次数: |
3792 次 |
| 最近记录: |