Delivering a consistent virtual desktop experience to users requires a delicate balance of resources. That's why you need to understand how IOPS supply and demand can contribute to VDI capacity planning.
By balancing IOPS in your virtual desktop infrastructure (VDI) environment, you'll avoid bottlenecks and maximize hardware usage to provide the best ROI. It starts with figuring out the amount of IOPS your system can provide, and how many the desktops require. Then, you'll be able to calculate how many VMs -- and therefore virtual desktops -- your environment can handle.
Your VDI storage device provides a limited amount of IOPS for the virtual machines (VMs) running. You need to know this number. There are many free tools to measure the IOPS of a running storage system: esxtop for VMware or the Hyper-V counters in Microsoft's Perfmon, for example. Don't discount the array of third-party tools that can provide load testing for capacity planning. In the end, you should be able to avoid the manual calculations you see on the Internet.
Your virtual desktops consume the IOPS from your supply, and if you exceed the supply, then poor performance will result. If you waste the supply, then your TCO increases and your company loses ROI from VDI.
With the IOPS supply number in hand, understanding the demand-side IOPS is your next challenge.
The demand-side consists of the amount of IOPS your virtual desktops need to perform well. Many IT pros make the mistake of measuring IOPS inside the VM, using Perfmon. Don't be this person. This method provides a ballpark number but can be inaccurate due to hypervisor time slicing.
Measuring the VMs from "outside" is best. Again, you need to choose the right tools to get the IOPS requirements for the demand side. Hyper-V, for example, has specific Perfmon counters to measure each VM.
More on VDI IOPS
Reducing IOPS while improving VDI performance
VDI's storage hunger
Understanding VDI IOPS ups and downs
When you measure the IOPS of the virtual desktops' underlying VMs, don't get caught overestimating the demand. Many administrators start by determining the peak IOPS incorrectly for their environment, causing a higher TCO than necessary. You might make that mistake if you include a VDI boot storm as part of the peak IOPS measurement.
Boot storms (and their adjunct, logon storms) typically happen during the morning OS startup and login process, although they can also happen during evening logout and shutdown activities. IOPS demand measured during this period may be inflated, therefore limiting how many virtual desktops you estimate your storage device can support.
At the same time, boot storms are still important to understanding supply and demand. You must schedule the VMs to boot in a staggered sequence so you don't exceed the supply of IOPS. This approach prevents performance issues if a host reboots during the day and provides a consistent startup in the morning.
Mathematics of VDI IOPS
Now that you understand supply and demand numbers, you can calculate how many VMs your infrastructure will support. (As with any calculation, these should be treated as estimates that you will measure against in your own environment.) First, calculate IOPS including the boot storm data:
Number of VMs to boot = Supply of IOPS / Demand for IOPS
Take this example: If your VDI storage array provides 20,000 IOPS and the VM boot demand is 200 IOPS, you can launch approximately 100 VMs without overtaxing your supply. Boot time will determine the stagger, so if the boot time is 60 seconds, you can stagger the next set of VMs to boot 1 minute later.
With another calculation, you can determine the steady-state, average IOPS demanded during a normal workday without the boot storm. You need to measure this over an extended period to account for business cycle events that might increase your peak IOPS.
Number of VMs running = Supply of IOPS / Steady-state demand for IOPS
Using the same example, if your storage device supplies 20,000 IOPS and your average steady-state demand is 25 IOPS, then your VDI storage can support approximately 800 running virtual desktops.
Using the steady-state IOPS number and a staggered morning-boot process, you can scale and deploy your virtual desktops to optimize supply. This creates equilibrium between supply-side and demand-side IOPS, maximizing your company's investment in VDI.