1
12kviews
Explain the relationship between disk utilization and IOPS.

The average I/O size of an application is 64 KB. The following specifications are available from the disk manufacturer: average seek time = 5 ms, 7,200 RPM, transfer rate = 40 MB/s. Determine the maximum IOPS that could be performed with this disk for this application. Taking this case as an example, explain the relationship between disk utilization and IOPS.

3
629views

I/O Size = 64 KB

Average Seek Time (T) = 5 ms

RPM = 7,200 RPM.

Disk Transfer Rate = 40 MB/s

RPS = 7200/60 = 120.

Average Rotational Latency (L) = 0.5/120 = 4.16 ms

Internal Transfer Rate (X) for the given I/O size 64 KB is 64/(40*1024) = 64/40960 = 0.00156 seconds = 1.56 ms

So it needs 1.56 ms to transfer 64 KB size IO.

To calculate IOPS, we need to calculate Disk Service Time (Ts)

Ts = T+L+X = 5 ms + 4.16 ms + 1.56 ms = 10.72 ms

So the disk service time to server an IO with 64 KB size is 10.72 ms.

If it can server 64 KB IO in 10.72 ms, how many 64 KB IOs it can process per second?

The answer is: IOPS = 1/Ts = 1/10.72 ms = 1000/10.72 s = 93.28 Seconds.

So the disk can serve 93.28 "64 KB" IO Operations per second at 100% disk/controller utilization.

If the disk is at 100% utilization the response time for application will become low.

The response time, disk utilization & Disk service time will have the below relation.

Average Response Time (Tr) = Disk Service Time (Ts)/(1-Utilization)

Tr = Ts/1-U

If the disk utilized at 60%, the average response time will be

Tr = 10.72 ms/1-60% = 10.72 ms/1-0.06 = 10.72 ms/0.94 = 11.4 ms

So average response time at 60% disk utilization is 11.4 ms.

If the disk is 100% utilized the response time will be infinite, and the I/O need to wait in the queue for infinite time. It is explained below.

Tr = 10.72 ms/1-100% = 10.72 ms/1-1 = 10.72 ms/0 = infinite

Below graph represents the relationship between Response Time (Tr) and Utilization (U)

Figure: Relationship between Response Time (Tr) and Utilization (U)