Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


IOPS per vm

Posted on 2015-01-02
Medium Priority
Last Modified: 2015-01-12
I am confused with IOPS in the storage world. Someone will explains.
My understanding is that if you have more spindles and faster disk then your storage will have higher IOPS, hence this will give better performance etc.
I called the storage vendor and he asked me what is IOPS you want, That question stumped me!!
 How do we calculate iops per vm?
My understanding is that more spindles and faster disk will have better IOPS and buy that storage.
Question by:sara2000
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 124
ID: 40528399
More Disks = More Spindles = More Peformance = More IOPS

But also RAID type can affect performance as well!

CPU will also be increasing, because of lack of IOPS.

just as an example of 5,400 rpm SATA disks, not on a particular fast system

two disks - 84.5 MB/s Write,  150 MB/s Read
four disks - 196 MB/s Write, 276 MB/s Read
eight disks - 212 MB/s Write,  287 MB/s Read

Some very rough quick calculations

Total IOPS = (DriveIOPS * #Drives) / (ReadRatio + (RAIDWritePenalty * WriteRatio))

RAID 10 6 x 7,200 RPM SATA drive - Approx 50 IOPS each disk. assuming 33% Writes

Total IOPS = (50 IOPS x 6 disks)/(.67 + 2*.33))
           = 225 IOPS

RAID 5 6 x 600 SAS 15k Drives - Approx 200 IOPS each disk. assuming 33% writes

Total IOPS = (200 IOPS x 6 disks)/(0.67+4*.33))
           = 603 IOPS

Difference = 378 IOPS


Your DB Administrator or Vendors will have an idea of how many IOPS are required.

What you require is the fatest performing datastore you can afford, do not get too confused with how many IOPS you need per VM, very few know, when asked that question!
LVL 62

Expert Comment

ID: 40528828
7200rev/min / 60 sec/min = 120 rev/sec = 120 IOPS.
LVL 56

Expert Comment

ID: 40529034
You've missed out seek time gheist...

7200rev/min / 60 sec/min = 120 rev/sec = 8.3ms per revolution
Average seek 8.5 ms (from here)
rotational latency + average seek 16.8ms . 1/16.8ms =60 IOPS.

As to the question of what is needed though if the current physical servers are performing OK you can use perfmon or similar tools to get the current IOPS requirements.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 62

Expert Comment

ID: 40529092
Not really.... Seek hapens while disk spins...
LVL 56

Expert Comment

ID: 40529166
The seek has to be completed before the drive starts to read the track and on average one half revolution is needed after the seek/settle time for the head to reach the data.

There is an error in my calculation though, a half revolution is 4.15ms, nevertheless the seek/settle and rotational latency have to be added together. Using 4.15ms for half rotation gives 12.65 ms for an IO, so 79 raw IOPS for a 7.2K disk. There is a fairly accurate list at http://en.wikipedia.org/wiki/IOPS#Mechanical_hard_drives.
LVL 62

Expert Comment

ID: 40529172
vmware writes data in 16MB chunks, so it is mostly sequential access where IOPS matter.
LVL 56

Expert Comment

ID: 40529213
No it doesn't, VMware may use what they call a 16MB block size for VMFS but that's just for disk formatting, it reads and writes using whatever size the virtual machine decides to. If it was to only write in 16MB chunks and the guest was a database that wrote in 4K blocks then the DB would stop dead waiting for VMware to confirm the data was written to the platter while VMware refused to commit the data since there wasn't 16MB queued by then.

You can also tell that from various IOmeter results that use varying "block sizes*", if VMware didn't write the size the guest required then the graphs would look identical for different read/write sizes.

*They should have called the VMFS block size something else to avoid this confusion.
LVL 62

Expert Comment

ID: 40529353
There is command queue on disk. Which in turn means that full seek is done once per queue (like 255 requests)
LVL 56

Expert Comment

ID: 40529368
Indeed, there's also cache on the controller that can improve raw IOPS, nevertheless raw IOPS (implies a queue depth of 1) is the most important starting point. You can ignore seek time if you want but nobody else ignores it.
LVL 10

Accepted Solution

Carlos Ijalba earned 2000 total points
ID: 40531442
If someone needs a good and quick IOPS & RAID penalty calculator, use this one:


Sara, today all storage vendors asks how many IOPS you need, since by using a mixture of disk spindles and SSD disks (with ridiculously high IOPS rates) they can offer you a tailored system.

More IOPS are better, as the price also sky-rockets, that's why you need to find out what IOPS you need for your VM's, but this is usually only needed if you are designing a VDI solution, or implementing a IOP hog on a VM (like, for example a DB like -MS SQL Server-, or MS Dynamics).

Otherwise you find out IOPS needed per LUN or Storage Groups.

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Ransomware is a malware that is again in the list of security  concerns. Not only for companies, but also for Government security and  even at personal use. IT departments should be aware and have the right  knowledge to how to fight it.
Teach the user how to configure vSphere Replication and how to protect and recover VMs Open vSphere Web Client: Verify vsphere Replication is enabled: Enable vSphere Replication for a virtual machine: Verify replicated VM is created: Recover replica…
Teach the user how to use configure the vCenter Server storage filters Open vSphere Web Client:  Navigate to vCenter Server Advanced Settings: Add the four vCenter Server storage filters: Review the advanced settings: Modify the values of the four v…

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question