Monitor EBS volume peformance using Cloudwatch

Measuring IOPS and Throughput performance has been complex due to number
of underlying metrics that are needed to be analyzed.
The complexity arises due to the following factors:

  1. Instance Type Limits

Different AWS EC2 instance types have varying maximum IOPS and throughput capabilities. If the instance’s limits are lower than the EBS volume’s capabilities, your measurements will be capped by the instance, not the EBS volume itself.
For example, some instance types may cap at 10,000 IOPS, while the EBS volume may support up to 16,000 IOPS, leading to misleading performance measurements.

  1. EBS Volume Type Variability

AWS offers multiple types of EBS volumes (e.g., gp2, gp3, io1, io2, sc1, st1), each with different performance characteristics. General Purpose volumes (gp2/gp3) may have burstable IOPS, which can make consistent performance measurements difficult.
Burstable volumes may deliver inconsistent performance if the burst balance depletes, resulting in fluctuating IOPS or throughput.

To mitigate these issues Amazon has rolled out two new Amazon CloudWatch metrics to help you see if your application is trying to go beyond your Amazon EBS volume’s set performance limits. These new metrics, called Volume IOPS Exceeded Check (VolumeIOPSExceededCheck) and Volume Throughput Exceeded Check(VolumeThroughputExceededCheck), show if your EBS volume is being pushed harder than it’s designed for in terms of IOPS (Input/Output Operations Per Second) or throughput.

With these metrics, it’s now easier to spot and fix any performance issues that might be caused by EBS volumes that aren’t powerful enough for your app’s needs. The metrics will give a reading of either 0 (performance within limits) or 1 (performance exceeded) to let you know if your app is trying to drive more than the EBS volume can handle. In Amazon CloudWatch, you can set up custom dashboards and alerts to notify you or even take actions based on these metrics.

Leave a Reply

Your email address will not be published. Required fields are marked *