It’s been long while discussed when to go for a 1 vCPU based virtual desktop solution or 2 vCPUs. Well this is no rule of thumb, however I hope this may help on shedding some light for others.

I’ve been recently running a stress test for a customer where the goals were diversed, but I would like to highlight the outcome of running same workloads with 1 vCPU and 2, with the same amount of memory. And how this significantly impacted on the boot storm behavior.

The tested scenario was based on:

  • 32 Cisco UCS hosts running Vmware vSphere 4.1
  • 2000 virtual desktops provisioned with Provisioning Services 5.6 SP1
  • vDisk stores were CIFS based on NetApp boxes
  • VMs were: Windows XP SP3 based, 1 GB of RAM and 6 GB PVS write cache virtual disk

With 1 vCPU based vitual desktops, the whole infrastructure was able to but up in about 45 minutes, where under certain circunstances we were able to have after a boot storm around 900 unregistered virtual desktops when the infrastructure reached its steady state. Even tweaking the Services Startup Timeout value on virtual desktops.

With 2 vCPU based virtual desktops, it booted up in 25 minutes, with 12 unregistered virtual desktops at the end of the cycling process.

From this results, I can certainly say, an additional CPU will:

  • boost the streaming/boot up process
  • improve responsiveness and registration of virtual desktops
  • with an increased cost of the CPU hit on the hypervisior

So the takeaway will be:

  • If you are planning to go big with huge number of VMs lifecycling every day…
  • If you have large amount of working shifts which you may need to provision in advance…
  • If your cycling window need to be the shortest possible…

…in all those cases, an additional CPU will improve your cycling processes, reducing the registration gap of virtual desktops, with an additional cost of higher peak of host CPU utilization, improving your infrastructure uptime.