An easy-to-use VDI IOPS calculator
So you've heard all about the I/O performance demands of VDI ... but how can you determine what IOPS you will need? (Read What's all this talk about VDI and IOPS). While it's best to take detailed measurements, it can be complicated, expensive and time consuming. What if you just want a ballpark number quickly?
I'm going to show you a quick and dirty way to guestimate your I/O needs, for most any type of VDI (persistent, non-persistent, with or without Unidesk). We are going to avoid gathering a ton of data with complicated measurements, instead using some simple assumptions about desktop I/O and use some easy-to-gather numbers from your existing (non-VDI) desktops.
The concept is fairly straight forward - to build a model of IOPS based on a typical heavy I/O load condition on a desktop. This is commonly at around 8-9 AM when everybody logs in and gets started. That is when the storage array will be at peak load (for logins, profiles, apps, etc). In most cases, if you optimize around this time window, and include the average desktop load, you should have plenty of headroom for everything else.
You do have a little homework to do, but it isn't too hard. Here is what you need to gather (or guess):
- How many desktops are you supporting?
- Over how much time do most people start their work day?
- How many people don't start work at the usual time?
- How active are the workload(s) - heavy, medium, light?
And then do one measurement:
- Time how long it takes a regular (non-virtual) desktop to login (time how long the disk light stays fairly busy)
That's all that's needed for a basic estimate - punch those numbers into the calculator below and you will get a rough estimate of the number of IOPS needed. For a more precise measurement, you can also adjust a couple additional "advanced" fields - which are the default for peak IOPS (we base it on a standard 7,200 RPM disk drive, or 90 IOPS), or adjust the "peak factor" - which accounts for the fact that people will login in peaks and valleys. So feel free to click "show advanced" and adjust those as well - but for most use cases, the defaults should be close enough.
Note: The time to login has been changed from minutes to seconds (March 16, 2011)
|Base assumptions (show advanced):|
|When logging in, how long is the disk busy?||seconds to login (LoginBootTime)|
|What is the primary login duration?||minutes for most users to login (StormDuration)|
|What percentage login during that time?||% users login (StormPercentage)|
|How concentrated is the peak login period?||% more users than average (PeakFactor)|
|What IOPS are required during login?||IOPS peak (per desktop) (StormIOPS)|
|Expected IOPS load?||IOPS average (SteadyStateIOPS1)|
|Number of users (or desktops)?||users (Users1)|
|Expected IOPS load?||IOPS average (SteadyStateIOPS2)|
|Number of users (or desktops)?||users (Users2)|
|Expected IOPS load?||IOPS average (SteadyStateIOPS3)|
|Number of users (or desktops)?||users (Users3)|
|Expected IOPS load?||IOPS average (SteadyStateIOPS4)|
|Number of users (or desktops)?||users (Users4)|
|Expected IOPS load?||IOPS average (SteadyStateIOPS5)|
|Number of users (or desktops)?||users (Users5)|
Now that your have your IOPS numbers, you can take a closer look at your storage options and balance your I/O needs across one or more arrays. Keep in mind that for larger deployments will you need to balance the storage load across multiple RAID sets (not just across LUNs, as those can share a single RAID set). For more information about how many IOPS a SAN can deliver, check out Making sense of VDI SAN performance.
Also, take a look at how Unidesk optimizes VDI storage capacity and IOPS and offers a simpler and better alternative to VMware Linked Clones and Citrix Provisioning Server. There are some great videos and white papers that show how our desktop layering technology enables new hybrid SAN arrays with SSD to host 4X as many desktops with more IOPS and less latency.
Let me know what you think about this approach for calculating IOPS - comment below or contact me on twitter (@cmidgley). It will never be as accurate as a long running actual measurement of I/O load on a correctly configured and loaded virtual desktop configuration, but hopefully it gives you some quick numbers that help you design for VDI success.