RDS 只读副本的读取 IOPS 限制?

And*_*niy 5 postgresql performance amazon-rds

我注意到我的 PostgreSQL Amazon RDS 只读副本上发生了奇怪的事情。

我们已经对数十个并行高负载读取请求进行了“压力测试”。测试开始时性能确实很好,但随后迅速下降,而 PostgresSQL 本身一直保留着数十个select查询,这些查询在堆叠之前执行得很快。

我在 RDS 控制台中打开“监视器统计”选项卡,发现随着性能明显降低,读取 IOPS 数量也从 3000/秒下降到 300/秒,并且很长一段时间没有超过 300/秒 iops。同时CPU使用率确实很低~3%,RAM或存储空间没有任何问题。

所以我的问题是:只读副本的读取 IOPS 是否有任何记录在案的限制?看起来 Amazon RDS 在真正高负载(3000/秒)后自动降低了 IOPS 上限。

在此输入图像描述

只读副本服务器在 db.t2.large 实例上运行,该实例具有 100 GB 通用 (SSD) 存储类型,并且禁用了固定 IOPS 功能。

Mic*_*bot 5

您描述的行为与底层存储类 GP2 的记录完全相同。

GP2 旨在提供 3 IOPS/GB 的一致基准性能

小于 1 TB 的 GP2 卷也可以突增至 3,000 IOPS。

https://aws.amazon.com/ebs/details/

100GB 卷上的 3 IOPS/GB 为 300 IOPS。

另请参阅http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html了解 IOPS 积分如何工作的说明。当您的系统不忙时,它会积累可用于下一次突发的积分。

  • 未来的访问者请注意,除了 Aurora(使用完全不同的存储架构)之外,**新** RDS 只读副本的执行速度会更慢,直到其基础卷完全预热为止,原因与卷类型无关。对于非常大的数据集,此过程可能需要数小时甚至数天,但甚至可能不明显,具体取决于数据库的大小和使用的访问模式。 (2认同)