AWS RDS预配置IOPS真的值得吗?

Jee*_*oon 53 performance amazon-web-services amazon-rds

据我了解,与标准I/O速率相比,RDS预配置IOPS非常昂贵.

在东京地区,标准部署的P-IOPS率为0.15美元/ GB,0.12美元/ IOP.(多可用区部署的价格翻倍......)

对于P-IOPS,所需的最小存储空间为100GB,IOP为1000.因此,P-IOPS的起始成本为135 $,不包括实例定价.

对于我的情况,使用P-IOPS比使用标准I/O速率高出约100倍.

这可能是一个非常主观的问题,但请提出一些意见.

在最优化的RDS P-IOPS数据库中,性能是否物有所值?

要么

AWS网站给出了P-IOPS如何惠及性能的一些见解.有没有实际的基准?

自我回答

除了zeroSkillz所写的答案之外,我还做了一些研究.但请注意,我不是阅读数据库基准的专家.此外,基准和答案基于EBS.

根据"Rodrigo Campos"撰写的一篇文章,性能确实显着提高.

从1000 IOPS到2000 IOPS,读/写(包括随机读/写)性能翻倍.从zeroSkillz所说的,标准EBS块提供了大约100 IOPS.想象一下,当100 IOPS达到1000 IOPS(这是P-IOPS部署的最小IOPS)时,性能会有所提高.

结论

根据基准,性能/价格似乎合理.对于性能危急情况,我猜有些人或公司应该选择P-IOPS,即使他们的收费超过100倍.

但是,如果我是中小型企业的财务顾问,我会逐渐扩展(如CPU,内存)我的RDS实例,直到性能/价格与P-IOPS相匹配.

zer*_*llz 29

所以,我刚刚与亚马逊系统工程师打电话,他有一些与这个问题相关的有趣见解.(即这是第二手知识.)

标准EBS模块可以很好地处理突发流量,但最终它将逐渐减少到大约100个iops.这位工程师提出了几种替代方案.

  1. 一些客户使用多个小型EBS块并对其进行条带化.这将提高IOPS,并且是最具成本效益的.您无需担心镜像,因为EBS在幕后进行镜像.

  2. 一些客户使用EC2实例上的临时存储.(或RDS实例),并有多个奴隶来"确保"durabilty.短暂存储是本地存储,比EBS快得多.您甚至可以使用SSD配置的EC2实例.

  3. 一些客户将配置主设备使用预配置IOPS或SSD临时存储,然后为从设备使用标准EBS存储.预期性能良好,但故障转移性能下降(但仍然可用)

无论如何,如果您决定使用这些策略中的任何一种,我会与亚马逊重新检查,以确保我没有忘记任何重要的步骤.正如我之前所说,这是第二手知识.

  • 这是关于使用 RDS 还是通过 EC2 管理您自己的数据库? (2认同)

Ros*_*oss 28

好.这是一个糟糕的问题,因为它没有提到分配的存储的大小或设置的任何其他细节.我们使用RDS,它有其优点和缺点.首先,您不能使用带RDS的短暂存储设备.使用RDS服务时,您甚至无法直接访问存储设备.

话虽如此 - 推测RDS的存储介质是基于亚马逊的EBS变体.标准IOPS的性能取决于卷的大小,并且有许多来源表明,在100GB以上的存储空间中,它们开始"划分"EBS卷.这样可以在读写时提供更好的平均案例数据访问.

我们目前运行大约300GB的存储分配,并且在几小时的时间内可以在大约85%的时间内获得2k写入IOP和1k ​​IOP.我们使用datadog来记录这个,所以我们实际上可以看到.我们已经看到了高达4k的写入IOP的突发,但没有像这样的持续.

如果写入的IOPS不够,我们从应用程序端看到的主要症状是锁争用.您在应用程序日志中获得这些数据和频率将为您提供耗尽标准RDS的IOPS的症状.您还可以使用datadog等服务来监控IOPS.

配置IOPS的问题是它们假设写入/读取的状态量稳定,以便具有成本效益.这几乎不是一个现实的用例,也是亚马逊启动云服务修复的原因.您获得P-IOPS的唯一保证是您将获得最大吞吐量功能.如果不使用它,你仍然支付它.

如果您可以运行副本,我们建议您将只读副本作为NON-RDS实例运行,并将其置于常规EC2实例上.通过自己管理副本,您可以以更便宜的价格获得更好的读取IOPS.我们甚至使用stunnel在AWS外部设置复制品,并将SSD驱动器作为主要块设备,我们的报告系统读取速度非常快 - 比我们从RDS获得快100倍.

我希望这有助于提供一些真实世界的细节.简而言之,在我看来 - 除非你必须在一个恒定的基础上(或在任何给定的点)确保一定程度的吞吐量能力(或你的应用程序将失败),否则有更好的替代方案来配置IOPS,包括read-write splitting with read -replicas memcache等

  • 好吧,这是一个糟糕的答案,因为它以“好吧,这是一个糟糕的问题”开头。 (2认同)