Linux – Find current IOPS usage of EBS volume from the application on AWS EC2

amazon-ebshard driveiopslinuxperformance

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.

Best Answer

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.