Performance EBS基线性能过高?

Performance EBS基线性能过高?,performance,postgresql,amazon-web-services,amazon-ec2,amazon-rds,Performance,Postgresql,Amazon Web Services,Amazon Ec2,Amazon Rds,我正在尝试在AWS上对RDS实例(postgres)进行基准测试 我使用30 GB“通用”SSD卷(“gp2”)创建了该实例。根据,这应提供100 IOPS的基线性能: 在最小100 IOPS(33.33 GiB及以下)和最大 10000 IOPS(3334 GiB及以上),基线性能等级 以每GiB体积大小3 IOPS的速度线性运行 但除此之外,还有突发性能: 使用通用(SSD)存储时,您的DB实例会收到 初始I/O信用余额为540万I/O信用,这就足够了 保持3000 IOPS的突发性能30分

我正在尝试在AWS上对RDS实例(postgres)进行基准测试

我使用30 GB“通用”SSD卷(“gp2”)创建了该实例。根据,这应提供100 IOPS的基线性能:

在最小100 IOPS(33.33 GiB及以下)和最大 10000 IOPS(3334 GiB及以上),基线性能等级 以每GiB体积大小3 IOPS的速度线性运行

但除此之外,还有突发性能:

使用通用(SSD)存储时,您的DB实例会收到 初始I/O信用余额为540万I/O信用,这就足够了 保持3000 IOPS的突发性能30分钟

因为我对持续的数据库性能(=基线情况)感兴趣,所以在开始测试之前,我必须去掉所有I/O积分。我通过运行
pgbench
实现了这一点

在下面的屏幕截图中,您可以看到我在11:00开始
pgbench
,大约3小时后,突发平衡最终耗尽,写入IOPS下降:

到目前为止,一切顺利。这个定时是有意义的——3*60*60*600=648万(在突发期间也会重新填充I/O信用)

我不明白的是:为什么IOPS没有下降到基线速率(100),而是保持在380?记录在案的基线绩效公式是否不再有效

更新:我现在已关闭此测试实例,但以下是详细信息:


很抱歉我的回复耽搁了

为什么会有额外的表现? 有了db.m3.xlarge(属于标准-上一版本标题),您就可以为Amazon Elastic Block Store额外提供500 Mbps的专用容量。这是每一个

在本文的第一部分中,它说使用EBS优化实例来提高性能。所以,我想说,这是你在耗尽爆破积分后获得超过100的额外IOPS的主要原因

成本考虑: 根据本段末尾所述,拥有您的M3,您将为额外的性能承担额外的成本。但是,如果选择M4,则额外性能不会产生额外成本

因此,在持续的数据库性能成本分析中,我只考虑M4的基本价格与M3+所带来的性能成本M3将给你带来的基础价格。
祝您好运。

您好,您能为我们提供所有RDS实例类型的详细信息吗?这对于帮助您解决您的问题非常重要。谢谢。@Taterhead我已经添加了配置详细信息的屏幕截图。有什么有趣的吗?谢谢你的回答。是的,EBS性能也取决于实例类型。考虑到实例类型和卷大小(gp2),我仍然不知道如何计算IOPS。我目前的“心理模型”是,两者都是IOPS的上限,但这可能是错误的?根据文档,EBS优化实例不应增加可用IOPS:“当连接到EBS优化实例时,通用SSD(gp2)卷设计为在给定年份中99%的时间内提供其基线和突发性能的10%以内”我认为,如果您提供更多关于
pgbench
会话的详细信息,我们可能会更好地解决这个问题。比如所选数据的大小(1K、5K、10K)以及时间间隔是多少?我们也许可以使用380,大小和间隔,尝试和“最佳猜测反向工程”来确定性能增益的来源。据我记忆所及,我使用了
pgbench-h bench.cilw0cofajxh.eu-central-1.rds.amazonaws.com-U bench-c 32-j 16-T 6000
(可能连续多次)