RDS IOPS limitations

0

We have a problem with the performance of PostgreSQL RDS instance running on gp3 storage. As you can see from the attached diagrams, in an recent incident it exhausted EBSIOBalance% while the number of IOPS never exceeded approx 18k, although we have provisioned 25k IOPS for this instance. This resulted in a steep surge of a number of active connections/sessions and exhausted freeable memory within minutes, leading to a system crash. It is not clear to us why it used burst IOPS without exceeding baseline IOPS. On the other hand, we now see that documentation states that gp3 storage can have max. 16k IOPS/volume. Could you please explain what is happening and why we are able to provision and pay more IOPS if they cannot actually be used?

Additionally, we are considering increasing the size of our RDS instance from m5.2xlarge to m5.4xlarge in order for us to be able to fully use IOPS that we have provisioned. There are some resources on AWS Docs indicating that our current RDS instance type (m5.2xlarge) supports maximum of 18750 IOPS for 30 minutes at least once every 24 hours (which is extremely misleading since the system allowed us to provision 25k IOPS without any disclaimer indicating that we'll not be able to reach that due to other limitations) but we do not see such limitation for m5.4xlarge. Can you confirm for us that if we switch to the larger instance we will be able to fully utilize all provisioned IOPS we have configured on our GP3 storage attached to RDS instance.

Are there other instance types that may suit our needs better than m5?

EBSIOBalance% / IOPS

1 個回答
0

EBSIOBalance% is a measure of the Burst IOPS consumed on the ec2 instance, not the gp3 volumes. You should not let the EBS IOPS exceed the max for the instance type. It looks like your workload requires more than the baseline of 12k so a 4xl might be a better choice. If you need actually 25k then 8xl will work.

$ aws ec2 describe-instance-types --instance-types m5.2xlarge m5.4xlarge  m5.8xlarge  --query "InstanceTypes[*].[InstanceType, EbsInfo.EbsOptimizedSupport, EbsInfo.EbsOptimizedInfo]"
[
    [
        "m5.4xlarge",
        {
            "BaselineIops": 18750,
            "MaximumIops": 18750
        }
    ],
    [
        "m5.2xlarge",
        {
            "BaselineIops": 12000,
            "MaximumIops": 18750
        }
    ]
    [
        "m5.8xlarge",
        {
            "BaselineIops": 30000,
            "MaximumIops": 30000
        }
    ]
]
AWS
管理員
philaws
已回答 8 個月前
profile pictureAWS
專家
已審閱 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南