RDS Instance unavailable - EBSByteBalance

0

Hi, I have the following RDS instance:

db.t4g.micro Storage 400 GiB Provisioned IOPS 12000 IOPS Storage throughput 500 MiBps

It has been running low (0) on EBSByteBalance% which makes the instance to become unavailable, triggering a RDS failover. That makes my websites down for a few minutes.

Enter image description here

Enter image description here

All the other charts in the monitoring tab look fine.

Reading this post: https://repost.aws/questions/QU-tOmM-EESWW00CKa3QSkmA/rds-instance-running-out-of-ebs-byte-balance

I understand that the EBSByteBalance% is related to the instance it self and that I need to upgrade to a new instance type.

In this post:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#current

Says:

"You can use the EBSIOBalance% and EBSByteBalance% metrics to help you determine whether your instances are sized correctly. You can view these metrics in the CloudWatch console and set an alarm that is triggered based on a threshold you specify. These metrics are expressed as a percentage. Instances with a consistently low balance percentage are candidates to size up. Instances where the balance percentage never drops below 100% are candidates for downsizing."

The questions; which instance type should I look for? is there any downtime when changing the DB instance type? I need my Database to be able to run without interruptions. I also would not like to pay $300K/month on a DB instance.

Thanks.

Saul
gefragt vor 4 Monaten336 Aufrufe
1 Antwort
0

Hello.

The bottleneck seems to be in the RDS disk, so it may be a good idea to change the EBS specs instead of changing the instance type.
https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck

Using the GP3 volume type among general-purpose SSDs may help alleviate bottlenecks.
Unlike GP2, with GP3, IOPs and throughput can be controlled by the user.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD

Changing the RDS instance type or storage will result in downtime.
To alleviate this, you need a multi-AZ configuration.
https://repost.aws/knowledge-center/rds-mysql-downtime-impact

profile picture
EXPERTE
beantwortet vor 4 Monaten
  • Hi, thanks for your answer.

    I'm already using a gp3 storage. This are my current instance specs:

    Instance class

    db.t4g.micro

    vCPU 2

    RAM 1 GB

    Multi-AZ Yes

    Storage type

    General Purpose SSD (gp3)

    Storage 400 GiB

    Provisioned IOPS 12000 IOPS

    Storage throughput 500 MiBps

    Storage autoscaling Enabled

    Maximum storage threshold 450 GiB

    If, for example, I upgrade to a db.m7g.large instance class will it still have this EBSByteBalance?

  • I think changing the instance type may lead to an improvement, as stated in the documentation I shared. https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck

    If you're using an EBS-optimized RDS instance class, then use the CloudWatch graphs to check for throttling of IOPS or throughput. For instance classes with burst capacity, view the EBSIOBalance% and EBSByteBalance% metrics in the CloudWatch graphs. Consistently low values of EBSIOBalance% or EBSByteBalance% indicate an IOPS or throughput bottleneck at the instance level.

    db.m7g.large has higher throughput and IOPS than db.t4g.micro, so I think it may lead to improvement. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#current

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen