当AWS RDS CPU利用率达到100%时会发生什么?

时间:2017-05-12 16:19:51

标签: postgresql amazon-web-services amazon-rds

我想知道当AWS RDS CPU利用率为100%时会发生什么?

数据库请求是否失败,或者请求被暂停,直到CPU利用率降至100%以下?

我使用RDS Postgres并提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您的查询性能会降低。进一步的查询将失败。

如果您的RDS是您应用程序的唯一数据库实例,那么您的整个应用程序可能会停滞不前。

您需要确定CPU是否由于高负载而达到峰值,或者是否存在消耗所有资源的此类查询。

如果它负载很重,那么添加另一个副本可能会有所帮助,如果它读得很重。如果它写得很重,您可能需要扩展到下一个实例,或者可能考虑对数据集进行分片。

答案 1 :(得分:0)

这可能导致很多问题:

  1. 如果CPU始终保持100%,那么您的实例很可能会崩溃。现在,如果这是一个多重AZ实例,自动故障转移可以减少由于任何意外重启导致的停机时间到2分钟左右。但是,如果这是单个AZ实例,则停机时间可能会更长。

  2. 尽管未达到' max_connections'的价值,您的Db实例仍然无法接受任何新连接。由于性能下降,一些现有交易很可能会回滚。

  3. 持续高峰到100%的CPU可能会导致内存压力,即非常高的交换使用率和可用内存不足以及最终的实例崩溃。

  4. 工作量将达到阈值并且读写IOPS不会更进一步。