Find current IOPS usage of EBS volume from my application on AWS EC2

7,732

Solution 1

From within your application/instance, I'd attempt to trace the output of iostat during controlled application runs. Perhaps iostat -x 1 in a terminal window.

I also like the collectl utility for watching this output. nmon is a good tool for this as well.

Also read through this article... Even Stranger than Expected: a Systematic Look at EC2 I/O.

Solution 2

You can check this in cloudwatch

Check for EBS Metrics and choose VolumeWriteOps (Metric Name)

take any sample from the graph

for e.g.

Data-point : 152398 at 2011-02-10T07:54+0000 (Any highest count from the graph)

so it means 152398 IOPS for 10 mins intervel 

calculate this for 1 min

152398 IOPS / 10 minutes = 15239.8 IOPS/minute

then calculate this for 60 seconds

15239.8 IOPS / 60 seconds = 253.996666667 IOPS/second

so 253 is your average IOPS / seconds for the volume

Share:
7,732

Related videos on Youtube

Ruchit Rami
Author by

Ruchit Rami

Updated on September 18, 2022

Comments

  • Ruchit Rami
    Ruchit Rami over 1 year

    I am relatively new to AWS and disk performance. I am trying to figure out how much provisioned IOPS does my application need to perform well.

    Currently My PHP and MySQL application is hosted on EC2 instances with simple EBS volumes attached. The monitoring of EBS volumes provides Read throughput and write throughput with some other matrices. How can I find IOPS of my current EBS volume from Read throughput(~ 400 Ops/s) and write throughput(~ 4000 Ops/s) data?

    If I go with the unit of operations/second, IOPS reaches about 4.5K, which I think is not a correct one as simple EBS volume is meant to work alright only on 100 IOPS and occationaly few hundred.

    • ewwhite
      ewwhite over 11 years
      How are you measuring?
    • Ruchit Rami
      Ruchit Rami over 11 years
      From the monitoring data provided by AWS.