Blog Post

Disk Performance Metrics in AWS and Azure


In the last two posts, we have discussed the different types of storage disks available in the AWS and Azure cloud platforms. We also discussed the characteristics that affect the performance of the disk. You can read those article using the below links:


In this post, let us discuss about performance counters that can be used to measure the performance of your disk. These counters can be captured using the perfmon tool available in windows. Aws and azure provides a graphical representation of some of these counters in their portal.

Disk Reads/sec  and Disk Writes/sec (IOPS)

Measures the rate of read/write operations from/to the disk. In other words, these counters measure the number of read/write operations completed by the disk. You can use disk operations/Sec (IOPS) counter in the Azure console to measure the same. On the other side AWS provides VolumeReadOps and  VolumeWriteOps metrics to measure the same. This sum of these two counters gives us IOPS utilization of the disk.

Disk Read Bytes/sec  and Disk Write Bytes/sec (Throughput)

Measure the number of bytes read from the disk and write to the disk per second.  Disk bytes/sec counter provides the throughput utilization of the disk. Azure provides Disk Bytes/Sec to measure the throughput in the dashboard. In AWS, you can use the VolumeReadBytes and VolumeWriteByte cloud watch metrics to measure the throughput.

Average Disk sec/Read and Average disk sec/Write (Latency)

The Avg. Disk sec/Read performance counter indicates the average time, in seconds, of a read of data from the disk. The average value of the Avg. Disk sec/Read performance counter should be under 10 milliseconds. In other words, the number of seconds to complete one read/write operation.
Average Disk Bytes/Read and Average Disk Bytes/Write (Size of the IO)
This counter shows the average size of the IO operation of the disk workload.
Avg. Disk Queue Length and Current Disk Queue Length
Avg. Disk Queue Length is the average number of (read and write) requests that are queued for the disk operations during the sample interval. Current Disk Queue Length is the number of IO requests pending on the disk at that point in time. Higher value of this counter results in high disk latency. Azure provides Disk QD (Queue Depth) to measure the average disk queue length. Whereas AWS provides the cloud watch metrics  VolumeQueueLength to measure the same.
I hope this article helps you to troubleshoot the database performance issues in the cloud virtual machines. It may be much easier to identify the CPU and memory bottleneck of your database server. Detecting the IO bottleneck requires more effort and time.


Original post (opens in new tab)