在主要版本升级后,我的 Amazon Aurora PostgreSQL-Compatible 数据库实例的 CPU 利用率高。在升级之前,我的数据库实例表现良好。
简短描述
首先,按照 Aurora PostgreSQL-Compatible 的主要升级流程进行操作,确保升级成功。主要版本升级前后需要采取许多步骤,因此请检查您是否已经按步骤完成了该流程。如果您跳过该流程中的任何步骤,升级可能会失败。或者,即使升级成功完成,性能可能会受到影响,例如 CPU 利用率过高。
解决方法
- 在将 Aurora PostgreSQL 兼容版的生产集群升级到新的主要版本之前,请在生产数据库的副本上测试升级。要创建测试实例副本,您可以从最近的快照中还原数据库,或者克隆数据库。
- 各主要版本都包括增强查询优化器,提高数据库性能。但是数据库规划程序/优化器可能不会为运行查询选择最优的计划。因此,在新的主要版本中运行相同的查询时,可能会出现性能下降。所以,最佳做法是,在执行主要版本升级之前,务必测试和检查查询的性能。在 Aurora PostgreSQL 兼容版中,您可以使用查询计划管理 (QPM) 功能,管理不同主要版本之间查询计划的稳定性。
- 主要版本升级后 CPU 利用率高的一个主要原因是统计数据不是最新数据。这种情况是因为在主要版本升级期间没有传输存储在目录 pg_statistic 中的统计数据。这可能会导致数据库优化器无法选择最优计划以运行查询。要避免此问题,请重新生成运行 ANALYZE 操作的所有统计数据来刷新 pg_statistics 表。对 Aurora PostgreSQL 兼容版数据库实例上的每个数据库执行此操作。
**注意:**确保在不带任何参数的情况下运行 ANALYZE 命令,以生成当前数据库中所有常规表的统计数据。
ANALYZE VERBOSE
如果您在执行这些步骤后遇到性能问题,请参阅如何排查 Amazon RDS 或 Amazon Aurora PostgreSQL 的高 CPU 利用率问题?
相关信息
确保主要版本升级后计划的稳定性