我正在尝试在AWS上对RDS实例(postgres)进行基准测试。
我创建了一个30 GB"通用的实例" SSD容量(" gp2")。根据{{3}},这应该提供100 IOPS的基准性能:
在最低100 IOPS(33.33 GiB及以下)和最大值之间 基准性能可达10,000 10,000 IOPS(3,334 GiB及以上) 线性地以每GiB体积大小3 IOPS。
但除此之外,还有突发性能:
使用通用(SSD)存储时,您的数据库实例会收到 最初的I / O信用余额为540万I / O积分,这已经足够了 在30分钟内维持3000 IOPS的突发性能。
由于我对持续数据库性能感兴趣(=基线情况),我必须在开始测试之前摆脱所有I / O信用。我是通过运行pgbench
来完成的。
在下面的屏幕截图中,您可以看到我在11:00开始pgbench
,大约3小时后,突发平衡最终用完,写入IOPS下降:
到目前为止,这么好。时机是有道理的 - 3 * 60 * 60 * 600 = 648万(在爆发期间也会重新填充I / O积分)。
我不明白:为什么IOPS没有下降到基线速率(100),而是保持在380?记录的基线性能公式是否已不再有效?
更新:我现在关闭了这个测试实例,但这里有详细信息:
答案 0 :(得分:0)
对不起我的回复延迟
使用 db.m3.xlarge (属于标准版 - 上一版标题) - 您可以为Amazon Elastic Block额外增加500 Mbps的额外专用容量商店。这是the chart and details at this link。
在Amazon EBS Performance Tips的第一部分中,它说使用EBS优化实例来提高性能。所以,我说这是你在用尽爆发信用额后获得超过100的额外IOPS的主要原因。
根据段落末尾,如果您的 M3 ,您将需要额外的费用才能获得额外的效果。但是,如果您选择 M4 ,额外的性能不会产生额外费用。
因此,在持续的数据库性能成本分析中,我会考虑M4的基本价格与M3 +基本价格所带来的M3带来的性能成本。
祝你好运。