我想知道当AWS RDS CPU利用率为100%时会发生什么?
数据库请求是否失败,或者请求被暂停,直到CPU利用率降至100%以下?
我使用RDS Postgres并提前感谢您的帮助。
答案 0 :(得分:1)
您的查询性能会降低。进一步的查询将失败。
如果您的RDS是您应用程序的唯一数据库实例,那么您的整个应用程序可能会停滞不前。
您需要确定CPU是否由于高负载而达到峰值,或者是否存在消耗所有资源的此类查询。
如果它负载很重,那么添加另一个副本可能会有所帮助,如果它读得很重。如果它写得很重,您可能需要扩展到下一个实例,或者可能考虑对数据集进行分片。
答案 1 :(得分:0)
这可能导致很多问题:
如果CPU始终保持100%,那么您的实例很可能会崩溃。现在,如果这是一个多重AZ实例,自动故障转移可以减少由于任何意外重启导致的停机时间到2分钟左右。但是,如果这是单个AZ实例,则停机时间可能会更长。
尽管未达到' max_connections'的价值,您的Db实例仍然无法接受任何新连接。由于性能下降,一些现有交易很可能会回滚。
持续高峰到100%的CPU可能会导致内存压力,即非常高的交换使用率和可用内存不足以及最终的实例崩溃。
工作量将达到阈值并且读写IOPS不会更进一步。