我正在维护一个 AWS RDS 数据库 ( db.m6g.xlarge
),它有一个 750GB 的磁盘。这提供了 2250 IOPS,RDS 监控告诉我平均读取吞吐量约为 50MB/s,写入吞吐量约为 2MB/s。
数据库 IOPS 徘徊在 2250 左右,因此显然需要更多的 IOPS。
我正在查看新的 gp3 存储,当我为 750GB 磁盘的该存储类型设置价格估算时,我获得 12000 IOPS 和 500 MiBps(524.288 MBps),价格与当前 gp2 磁盘成本相同。
这听起来好得令人难以置信。购买具有 12000 IOPS 的 gp2 需要 4TB 的存储空间,每月花费 1500 美元,而购买具有 12000 IOPS 的 io1 磁盘则需要每月花费 2600 美元。使用 gp3 磁盘的数据库每月花费约 700 美元。
我相信这其中的“陷阱”在于任何超过 12.000 IOPS 和 500 MiBps 的 IOPS 和/或吞吐量都会产生额外的费用,但我并不完全清楚这是如何计算的。
超过 3,000 的 IOPS,每月 0.005 美元;
125MiB/s 以上每月每配置 MiB/s 0.04 美元
如果我将数据库从 gp2 移至 gp3,我们将获得额外的 9750 IOPS。鉴于我们目前的吞吐量约为 50MB/S,我看不出我们如何能够超过 gp3 的 500 MiBps 基准。
- 关于 gp3 存储类型,我需要注意什么特别的事情吗?我需要知道,但显然忘记考虑了?
- 对于 12000 IOPS 基线以上的 IOPS,IOPS 月如何计算?如果 RDS 数据库在 10000 IOPS 左右徘徊,但有时会“爆发”到 20000 IOPS - 这如何计入 IOPS 月?
答案1
受 IOPS 限制与需要更多 IOPS 是两码事。后者更多的是组织需求,使用此数据库的应用程序是否性能良好?交互式响应延迟,批处理作业是否按时完成。
但是,以较低的成本进行升级无疑是轻而易举的。它们的成本结构是一个黑匣子,所以不要太担心是什么让这个价格成为可能。据推测,IOPS 上的微交易是那些想从较小容量中获得更多收益的人的收入。
gp3 上每个“预配置 IOPS”的成本似乎意味着您需要支付您设置的配额。我认为,就像每月的静态费用一样。不要指望它会超过这个配额,这是让您支付更多费用的动机。12,000 IOPS 和 500 MiBps 免费(以及您的总成本数字)似乎意味着 4 个磁盘,如果您想这样做的话。观察成本和性能以确保没有意外。
与存储迁移一样,在迁移之前,请先测试您的备份恢复过程。出于谨慎,即使是非破坏性更改也是如此。如果您有一段时间没有这样做,那么这是一个很好的借口来弥补业务连续性的最后一道防线。
存储迁移将是检查数据卷如何标记的机会。使用特定标识符,如文件系统 UUID 或 LVM 名称。而不是通用块设备,如 /dev/sdb,它最终会发生变化。如果使用托管数据库,您就不必太担心。
答案2
这并不是“好得难以置信”。是正确。超过阈值(MySQL、Maria 和 PostgreSQL 为 400GB,Oracle 为 200GB),RDS 会将存储划分为 4 个卷。默认值(即免费 IOPS)为每卷 3000 IOPS。因此,超过阈值,您将获得包含在存储价格中的 12,000 IOPS。“预置 IOPS 成本”是指您想要的超过 12,000 的任何额外 IOPS。如果您想要 15,000 IOPS,您将支付每月 3,000 预置 IOPS 的额外费用。无论您是否实际使用它们,您都不能超过预置 IOPS。不过,我不确定您从哪里得到“超过 3,000 的预置 IOPS 每月 0.005 美元”的报价。对于大多数用例(包括您的用例),gp3 都比 gp2 好很多。