Published on 2011-11-30

14,958 Points

In this article, I provide some information on storage disks which go into calculations that will help you figure out how much Input/output Operations Per Second (IOPS) your disk subsystem can deliver.

To effectively size & tune up applications like exchange databases, SQL, Oracle, Hyper V, VMware and all other disk intensive applications, the IOPS for the underlying disks have to be calculated prior to load data.

There are tools available to identify how much IOPS the application will generate

Exchange 2010 Disk Sizing

Microsoft Assessment and Planning Toolkit

The applications will talk about frontend IOPS. Now you need to see what is the difference between frontend IOPS and backend IOPS.

**Frontend IOPS** is the total number of read and write operations per second generated by an application or applications. These read and write operations are communicated to the disk(s) presented to the application or applications.

**Backend IOPS** is the total number of read and write operations per second that a RAID/storage controller sends to the physical disks. The value of the backend IOPS is higher most of the time, because of the simple reason that a certain RAID level has a certain overhead. This overhead is called the write penalty.

What are three key factors that need to consider when we calculate IOPS?

**Rotational speed:** This is the speed of disk spindle which is calculated in Rotations Per Minute (RPM). Most disks we see today in the industry for enterprise storage rotate at speeds of 7,200 or 15,000 RPM.

**Average latency:** The time it takes for the desired data (which is in the sector of the disk) being accessed to rotate into position under a read/write head.

**Average seek time:** The time (in milliseconds) it takes for the hard drive’s head assembly on the actuator arm to travel to the track of the disk where the data will be read or written. There are both read and write seek times; take the average of the two values. measures the time it takes the

The above specifications can be obtained from the OEM

**Access time** = seek time + latency

To calculate the IOPS range, use this formula:

Average IOPS: 1 divided by the sum of the average latency in ms and the average seek time in ms (1 / (average latency in ms + average seek time in ms)

As an example, see below the IOPS calculation for a sample disk with the following specification

Rotational speed: 7200 RPM

Average latency: 4.2 ms (0.0042 seconds)

Average seek time: 8.2 (read)/8.9 (write) = 8.55 ms (0.0085 seconds)

Calculated IOPS for this disk: 1/(0.0042 + 0.0085) = about 79 IOPS

Reference for the calculation you can see in the below website

http://www.techrepublic.com/blog/datacenter/calculate-iops-in-a-storage-array/2182

Enterprises don’t install a single disk at a time, so the above calculations cannot apply unless they can be turned to multidisk sets or RAID. A sample IOPS calculator is mentioned below to count IO for different RAID combinations. This tool is of much use to determine in the back end how much spindles are needed for a given IOPS.

IOPS Calculator

You need to know more about your application workload (reads / writes), the recommended RAID levels to understand what IOPS your application needs.

Once you sized and implemented your LUNS based on the requirement you can use tools, such as IOmeter, to get specific, real-time performance values

To effectively size & tune up applications like exchange databases, SQL, Oracle, Hyper V, VMware and all other disk intensive applications, the IOPS for the underlying disks have to be calculated prior to load data.

There are tools available to identify how much IOPS the application will generate

Exchange 2010 Disk Sizing

Microsoft Assessment and Planning Toolkit

The applications will talk about frontend IOPS. Now you need to see what is the difference between frontend IOPS and backend IOPS.

What are three key factors that need to consider when we calculate IOPS?

The above specifications can be obtained from the OEM

To calculate the IOPS range, use this formula:

Average IOPS: 1 divided by the sum of the average latency in ms and the average seek time in ms (1 / (average latency in ms + average seek time in ms)

As an example, see below the IOPS calculation for a sample disk with the following specification

Rotational speed: 7200 RPM

Average latency: 4.2 ms (0.0042 seconds)

Average seek time: 8.2 (read)/8.9 (write) = 8.55 ms (0.0085 seconds)

Calculated IOPS for this disk: 1/(0.0042 + 0.0085) = about 79 IOPS

Reference for the calculation you can see in the below website

http://www.techrepublic.com/blog/datacenter/calculate-iops-in-a-storage-array/2182

Enterprises don’t install a single disk at a time, so the above calculations cannot apply unless they can be turned to multidisk sets or RAID. A sample IOPS calculator is mentioned below to count IO for different RAID combinations. This tool is of much use to determine in the back end how much spindles are needed for a given IOPS.

IOPS Calculator

You need to know more about your application workload (reads / writes), the recommended RAID levels to understand what IOPS your application needs.

Once you sized and implemented your LUNS based on the requirement you can use tools, such as IOmeter, to get specific, real-time performance values

Ask questions about what you read

If you have a question about something within an article, you can receive help directly from the article author. Experts Exchange article authors are available to answer questions and further the discussion.