增加 RDS 中的预配置 IOPS 会导致停机?

Increase Provisioned IOPS in RDS leads to downtime?

我们有一个 m4.2x large RDS Postgres 实例,具有 300 GB 存储空间和 1000 预配置 IOPS。

我们想将 PIOPS 提高到 2000,是否会涉及停机时间? 如果性能会降级,有没有降级多少的措施?

我找不到任何相关文档讨论在进行更改时增加 PIOPS 对实例的影响。

谢谢

根据亚马逊的说法,不会有停机时间。参考如下。

IOPS: RDS 实例的新预置 IOPS(每秒 I/O 次操作)值。 更改此设置不会导致中断,并且会在下一次维护期间应用更改window,除非为此请求将 ApplyImmediately 参数设置为 true。

默认:使用现有设置

限制条件:提供的值必须至少比当前值大 10%。不至少比现有值大 10% 的值会四舍五入,以便它们比当前值大 10%。如果您要从预配置 IOPS 迁移到标准存储,请将此值设置为 0。数据库实例将需要重新启动以使存储类型的更改生效。

ModifyDBInstance

因此,在@John Hanley 的回答(并在测试实例上进行测试)之后,我们继续进行更改。

整个行动耗时约 1 小时 6 分钟。以下是该时期的相关图表。

在此期间我们没有遇到停机。即使总 IOPS(~1600)高于我们的旧限制(1000),我们也没有遇到任何性能下降。

认为这会对处于相同情况的人有所帮助。

为了避免其他人的延迟和担心,我们刚刚做了很多类似的事情(MySQL 100GB,1000 IOPS 到 2000 IOPS)。我猜想 Elastic Volumes 的变化是有原因的,但我们只看到 <1 分钟的性能受到非常小的影响,即使我们在变化之前通过写入几乎达到了 IOPS 的最大值。根据 RDS Events 的说法,整个修改过程大约需要 2 分钟,但我很确定状态为“Storage-optimization”至少有半小时。

我们已成功将具有 200GB 存储空间的 MariaDB GP2 DB 切换到 IOPS 10000,没有发现停机时间。 我可以通过 RDS 监控图表看到连接断开,RAM 使用率下降,所以显然它有点重新启动,但速度非常快,我不能将其命名为停机时间。

我们对 RDS Postgres 1000GB 进行了同样的操作,将 iops 从 3000 增加到 6000 修改用了不到 10 分钟,然后存储优化用了大约 2 小时。