Can anyone explain the RDS "EBS IO Balance (Percent)" metric?


Is anyone able to explain the EBS IO Balance (Percent) metric in RDS please?

We have a MySQL t3.small instance with a 400GB GP3 disk. We're running a process from an EC2 instance to pull data from an external API and store it in our DB.

We're hitting 0 on the EBS IO Balance (Percent) metric and seeing slow downs - which I pursue is a result of the read & write latency metrics increasing when we hit 0. We're struggling to understand what this metric is - and therefore how we can improve our process.

As for other metrcs:

  • We peak at around 5,000 IOPS (combined read & write) - well under the 12k we get with our GP3 disk
  • "EBS Byte Balance (Percent)" has fallen to 25% by the time our import process ends
  • Write throughout peaks at around 160 mb / second
  • Read throughput peaks at around 30 mb / second
  • CPU utilisation peaks at around 50% but our credit balance is very healthy
  • Disk capacity is certainly not an issue

Screenshotted metrics are here (import process started ~16:15:00)

Any help / pointers would be much appreciated.

I've asked elsewhere, and someone has suggested the issue might be related to volume striping?

1 Answer

EBS IO Balance is a property of the t3.small instance not the EBS volumes. That instance type has burst IOPS of 11800, and baseline IOPS of 1000.

aws ec2 describe-instance-types --instance-types t3.small --query "InstanceTypes[*].[InstanceType, EbsInfo.EbsOptimizedSupport, EbsInfo.EbsOptimizedInfo]" --output json
            "BaselineBandwidthInMbps": 174,
            "BaselineThroughputInMBps": 21.75,
            "BaselineIops": 1000,
            "MaximumBandwidthInMbps": 2085,
            "MaximumThroughputInMBps": 260.625,
            "MaximumIops": 11800
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions