我已经在区域中启动了一个db.t1.micro
PostgreSQL 实例。us-east-1
- 单一可用区域
- 没有备份
- 不在外界可访问的安全组中
由于某种原因,当我什么都没做的时候,CPU 使用率只有 20%,每隔 10 分钟就会飙升到 28-30%。我以为是实例出了问题,所以我重新创建了它,但还是一样。
这是什么?这是普遍的 RDS 现象还是特定于突发实例类?
答案1
这似乎是t1.*
或t2.*
实例的一个常见问题,AWS 支持已确认该问题,但尚未解决。一些用户试图通过使用 CloudWatch 自定义警报监控 CPU 使用率重新启动实例来缓解此问题。我不推荐它,因为这仅适用于 RDS 多可用区部署的临时解决方案,并且 CPU 峰值将再次出现,这是我目前所读到的。
如果您确实确定在 CPU 峰值期间没有运行可能导致这些问题的查询,并且其他相关的 CloudWatch 指标正常,我肯定会联系 AWS 支持。
您可以按照以下方法找出正在运行的查询:
SELECT * FROM pg_stat_activity;
SELECT pid, datname, usename, query FROM pg_stat_activity;
以下是需要检查的 CloudWatch 指标:
read/write IOPS
read/write latency
network throughput
binary log disk usage
freeable memory
queue depth
更多信息可以在 AWS 论坛上找到: