Tech: Finding a Better Way to Estimate IOPS for VDI

Posted by Kenneth van Surksum   |   Friday, November 26th, 2010   |  

Paul Wilson posted on the Citrix blog an lengthy article sharing his insight in how to better estimate IOPS for VDI solutions. He states though that the only way to prevent under-sizing in the storage tier is by running a pilot and analyzing its results.

For estimation you would normally take the average IOPS of all users, which you multiply by the number of users in order to determine the storage requirements, but that is not sufficient Wilson states.

Currently IOPS are estimated by taking into account so called boot storms, (when the machines start up) and login storms (when the users logon). He states that in the ideal world you would record these IOPS and use the highest value for your IOPS estimation, basically the same approach as Citrix used in their paper: XenDesktop 4.0 planning guide for hosted VM-Based resource allocation. This model is the safest approach but most probably not the most cost effective, which will drive the ROI of VDI down significantly. A better approach in this case would be to take the average IOPS for the user workload and add 10 to 20% extra for a buffer. Translated into a formula this would look something like this:

Login IOPS = MaxSimultaneousUsers * Average Login IOPS (Incremental IOPS for new user logons)

Workload IOPS = MaxSimultanousUsers * Average Workload IOPS (IOPS when all users are online)

Peak IOPS = Workload IOPS + Login IOPS (Theoretical maximum when all users are online and the last set login)

SAN Capacity = Peak IOPS + 20% buffer

His experience when using the precedence way of estimating was that this way of estimating doesn’t work at all, resulting in the fact that during his projects he had to order more storage so the required IOPS could be provided.

Based on that experience Wilson decided to create a new model, taking into account his experiences from the field, making the following assumptions:

  • Desktops are in either a login state or a workload state.
  • Desktops start in the login state and move to the workload state based on the Login Time parameter.
  • Desktops enter the login state at the rate defined by the Launch Rate parameter.
  • Desktops in the login state and desktops in a workload state have different IOPS requirements.
  • Read IOPS are ignored because they amounted to less than 2% of the total IOPS.

His model uses several variables:

  • Number of Desktops, noting that when using multiple clusters you should determine the value per cluster.
  • Launch Rate, which details how quickly users will be logging into the system, expressed in the amount of users that login per second.
  • Login IOPS, detailing the amount of IOPS during login of a user.
  • Workload IOPS, detailing the amount of IOPS expected per user during the workload execution.
  • Desktop Login Time, the amount of time it takes a user to login to the desktop, measured from CtrlAltDel to shell initialization complete.

Resulting in the following formulas:

  • Peak IOPS, which represent the peak IOPS expected:

Peak IOPS = MAX((DesktopsInLoginState * Login IOPS) + (DesktopsInWorkloadState * Workload IOPS)

  • Steady-State IOPS, which represent the estimated IOPS during normal workload

Steady-State IOPS = Number of Desktops * Workload IOPS

  • Estimated Boot IOPS, which represents the estimated IOPS required to boot all the machines, making a note that the confidence level of this formula is the lowest one, because it is based on a correlation that may not exist in the future, or with other hypervisors.

Estimated Boot IOPS = Number of Desktops * 22


The Workload IOPS depend on the type of users you have within your VDI environment, these users can be divided in:

  • Light user: ~6 IOPS per concurrent user. This user is working in a single application and is not browsing the web.
  • Normal user: ~10 IOPS per concurrent user. This user is probably working in a few applications with minimal web browsing.
  • Power user: ~25 IOPS per concurrent user. This user usually runs multiple applications concurrently and spends considerable time browsing the web.
  • Heavy user: ~ 50 IOPS per concurrent user. This user is busy doing tasks that have high I/O requirements like compiling code or working with images or video.

Using the amount of these users, you can determine a loaded rate for the environment, for instance when you have 20% Light, 50% Normal, 20% Power and 10% Heavy users:

Loading IOPS = Light (.20*6) + Normal (.5*10) + Power (.2*25) + Heavy (.1*50) = 16.2

If you do have the ability to perform a pilot, that’s still preferred though, so you can analyze the actual IOPS. This is done by determining the peak average IOPS, by looking at the average IOPS for each user during the pilot and select the highest value for calculations, resulting in the following formula:

Peak Average IOPS = MAX (AvgIOPSuser1, AvgIOPSuser2, … AvgIOPSuserN)

You should also take time to understand the limitations of the to be used storage environment. You can do this by reviewing its capacity used when boot and login storms occur. Using the following formulas you can determine boot and login storm size.

Boot Storm Size = Total IOPS available / 300

Login Storm Size = Total IOPS available / 100

Wilson notes that there are many vendors which can increase the performance of the storage tier, sometimes at a fraction of the cost of purchasing that same performance from the SAN vendor.

Labels: ,

blog comments powered by Disqus Newest articles
Release: VMware vRealize Log Insight 4.5

June 13th, 2017

Log Insight is a log aggregation, management and analysis tool, that VMware first introduced in 2013 and considered a competitor of Splunk.
Yesterday VMware announced the release of version 4.5, available for…

Release: VMware vRealize Automation 7.3

June 6th, 2017

Today VMware announced the latest release of its cloud management platform vRealize Automation, former vCloud Automation Center.
VMware vRealize Automation 7.3 release notes can be found at this link.


Paper: Introducing the NSX-T Platform

February 9th, 2017

“We see greater potential strategic opportunity in NSX over the next decade than our franchise product vSphere has had for the past decade.”
said VMware’s CEO Pat Gelsinger talking about…

Paper: VMware vSphere Virtual Machine Encryption Performance

November 22nd, 2016

Encryption of virtual machines is something that has been requested for years by the security community. VMware continued to postpone its implementation due to the negative operational impact that many…

Quest Software leaves Dell

November 1st, 2016

In September 2012 Dell announced to have completed the acquisition of Quest Software, a Californian company with an history in systems management, security, business intelligence and, falling back in our…

Citrix announces Q3 2016 results

October 21st, 2016

Citrix announced its financial results for third quarter 2016.
The revenues for the second quarter were $841 million for an increase of 3% compared to Q3 2015.
Net income was $132…

Release: VMware vSphere 6.5 & Virtual SAN 6.5

October 19th, 2016

2016 edition of VMworld US has been quite turbulent, on the other hand during VMworld Europe, happening these days in Barcelona, the company announced a few more products for the…

Release: VMware vRealize Log Insight 4.0

October 18th, 2016

Log Insight is a log aggregation, management and analisys tool, that VMware first introduced in 2013 and now is usually compared with Splunk.
Yesterday VMware announced Log Insight’s new major…

Release: Windows Server 2016 with support for Window Server & Hyper-V containers

October 13th, 2016

Yesterday Microsoft announced the general availability of Windows Server 2016 which the company defines as a cloud-ready OS.
Beside fancy definitions, one of the most relevant perks of this release…

Release: Oracle VM 3.4.2

September 22nd, 2016

During Oracle OpenWorld 2016 the company released version 3.4.2 of its enterprise virtualization solution.
Oracle VM is available for both x86 and SPARC based processor architectures and uses the Xen hypervisor…

VMworld US 2016 Wrap-up

September 1st, 2016

Today was the last day of VMware’s flagship conference VMworld in Las Vegas, an highly controversial edition which left a good chunk of the audience disoriented if not properly disappointed….

Gartner releases its Magic Quadrant for Cloud Infrastructure as a Service for 2016

August 11th, 2016

Last week Gartner updated its Magic Quadrant for Cloud Infrastructure as a Service (IaaS) for the year 2016. The Magic Quadrant for the year 2015 was released in May last year…

Release: Ansible Tower 3 by Red Hat

August 2nd, 2016

Ansible is one of the four main players in the automation market, younger then the well known Chef and Puppet, has been launched in 2013 in Durham, N.C. and acquired…

IBM announces earnings for Q2 2016

July 19th, 2016

Yesterday IBM announced its results for Q2 2016.

If we compare with the same quarter in 2015 earnings per share, from continuing operations, decreased 22%. Net income, from continuing operations,…

Monthly Archive