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

Read IOPS limits for RDS read-replica?

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

我们已经完成了 "stress-test" 数十个并行高负载读取请求。性能在测试开始时非常好,但随后迅速下降,而 PostgresSQL 本身一直持有数十个 select 查询,这些查询在堆叠之前执行得很快。

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

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

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

您描述的行为与底层存储的记录完全一致 class GP2。

GP2 is designed to [...] deliver a consistent baseline performance of 3 IOPS/GB

GP2 volumes smaller than 1 TB can also burst up to 3,000 IOPS.

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

3 IOPS/GB 在 100GB 的卷上是 300 IOPS。

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