This post is more than 5 years old

13 Posts

9942

November 5th, 2013 12:00

Confused about how IOPS is calculated in the "Information Storage and Management Storing..." book

This is my first introduction to IOPS calculation. I'm reading the oft recommend EMC book: "Information Storage and Management Storing...". The book explains IOPS is just a unit conversion of what it calls "Disk Service Time". I found googling, "Disk Service Time" is not as concrete a term in the industry as I thought after reading about it in the book- which is one problem. The other issue is the variables the book uses to calculate disk service time and how it just changes of one of them to something else- "data transfer rate" becomes "internal transfer rate".

When disk service time is first mentioned in the book it explains:

page 37:

"Disk service time is the time taken by a disk to complete an I/O request. Components

that contribute to the service time on a disk drive are seek time,rotational latency,

and data transfer rate"

It explains "data transfer rate":

"refers to the average amount of data per unit time that the drive can deliver to the HBA"

But then a few pages later, when IOPS is calculated, it says:

page 43:

"As discussed earlier in this chapter, the total disk service time (Ts) is

the sum of the seek time (T), rotational latency (L), and internal transfer time (X):"

Um, no, as discussed earlier X was "data transfer rate". According to the book "Internal transfer rate" is the rate data moves from the platters to the disk's internal buffer. Also the "internal transfer rate" is not something vendors publish for their products so you would have no way of knowing this value and thereby would not be able to calculate disk service time or IOPS for the drive (according to the book).

Then it gives you the following example of how to calculate the Disk Service time for HDD and uses the "internal transfer rate" again instead of the "data transfer rate":

"Consider an example with the following specifications provided for a disk:

  • The average seek time is 5 ms in a random I/O environment; therefore, T = 5 ms.
  • Disk rotation speed of 15,000 revolutions per minute or 250 revolutions per second — from which rotational latency (L) can be determined, which is one-half of the time taken for a full rotation or L = (0.5/250 rps expressed in ms).
  • 40 MB/s internal data transfer rate, from which the internal transfer time (X) is derived based on the block size of the I/O — for example, an I/O with a block size of 32 KB; therefore X = 32 KB/40 MB.

Consequently, the time taken by the I/O controller to serve an I/O of block

size 32 KB is (TS) = 5 ms + (0.5/250) + 32 KB/40 MB = 7.8 ms.

Therefore, the maximum number of I/Os serviced per second or IOPS is

(1/TS) = 1/(7.8 × 10^-3) = 128 IOPS."

Now here is the other thing that confuses me: X = 32 KB/40 MB. Which the book says equals .8. What the heck is .8!? It just divided 32 by 40 without doing any unit conversion. .8 doesn't represent bytes, kilobytes, or megabytes so what is that value?

I know this is a long post, but I have not bee able to get any answers to these questions I have elsewhere.

No Responses!
No Events found!

Top