Home > VDI, Windows, XenDesktop > How slim is your OS build? VDI’s biggest loser!

How slim is your OS build? VDI’s biggest loser!

December 1st, 2010

Going virtual is all about sharing resources. You are no longer constrained by one server or workstation running on one physical piece of hardware. The benefit is less physical kit to look after and better utilisation of resources but the detriment is when you share, you need to share nicely. In a shared environment one VM can be greedy and take more than its fair share and your other VMs suffer.

It’s not just sharing nicely that you need to consider but also building your VMs so they need less so there’s more to go around.

VDI is all about maximising the use of your physical hardware. To be cost effective (if you can with VDI!), you want to run as many workstations on a physical host as you can without sacrificing individual VM performance.

So, if your VMs are greedy with what they need you are going to be paying more for hardware. Wasting resources on physical workstations may not cost that much more but move your workstation into your datacenter and then see how much money you will be wasting.

Efficiency is the name of the game.

You need to be doing whatever you can to lighten the load your VDI workstations have on your hosting infrastructure. Some common sense and possibly a little testing and detective work needs to go into working out exactly what happens inside your VMs and then you need to come up with a plan of action to see how you can remove or reduce anything you can. This is not just for people using some provisioning technology but for all those VM workstations that are just so easy to now deploy.

CPU and Memory utilisation are the first and easiest things to look at but often forgotten but definitaly as important is storage and the effect of VMs on IOPS.

Slim your OS
Start at the bottom and look at your base OS build, remove anything that is unecessary, hibernation and offline files are two examples. Disable any unnecessary services. I’m not going to list all the tweaks you can do but rather defer to the experts:

Virtual Feller has a great optimisation guide for XenDesktop but most of it is also relevant for VMWare View or workstations in general even without a broker.
http://virtualfeller.com/category/windows-7/optimizations/
http://virtualfeller.com/2010/06/24/windows-7-optimization-disable-services-2/
http://community.citrix.com/display/ocb/2010/07/28/Windows+7+Registry+Optimizations+for+Virtual+Desktops

Ron Oglesby on OS tuning
http://www.brianmadden.com/blogs/ronoglesby/archive/2010/09/22/does-os-quot-tuning-quot-help-vdi-performance-part-1.aspx

Have a look at the Citrix optimisation guides, again not just relevant for Citrix solutions.
https://community.citrix.com/kits/#/kit/1067009
http://support.citrix.com/article/CTX125874

Update:
Jim Moyle’s comments to this post mentioned two useful additions to this list.
Project VRC for some more detailed testing (Login required to download)
http://www.projectvrc.com/index.php?option=com_docman&task=doc_details&gid=12&Itemid=

VMware View Optimization Guide for Windows 7
http://www.vmware.com/files/pdf/VMware-View-OptimizationGuideWindows7-EN.pdf

Know your Agents
You need to research and understand exactly what each and every one of your agents does inside your VM and when they do it.
Find out what agents you have:

  • inventory agents
  • anti-virus agents
  • profile management agents
  • software deployment agents
  • monitoring agents
  • compliance agents

Once you know which agents you absolutely need to have running you need to know when they do their thing. Do your inventory agents kick of a scan at 7am everyday because that’s how you do it on your physical workstations? Do your anti-virus agents update their definition files all at the same time?

Time zones and when people work are also a important and often forgotten about factors. You may have people in London working on desktops hosted in New York. If you run your inventory scan that kicks off at 6am local time in New York office hours and it is a heavy CPU or IO task you will be impacting your London people during their working day.

Any scheduled agent task probably needs to be randomised during the day to spread out the load. Can you agent even do this? Think of the IOPS that inventory, anti-virus or software deployment requires. It’s going to be a lot and running too many concurrent tasks means even though you may have the disk space required to host all your VM workstations, you don’t have the IOPs and the only solution is to reduce IOPS or buy more expensive SAN disks.

If your normal IOPS is running at about 20% of available, you only need an agent to hog 5 times the normal IOPS to cause all your VMs to slow down. You may think that 5 times isn’t that much but in the IOPS world this can be eaten up very quickly. It isn’t that uncommon for agents to need 20 to 50 times the normal IOPS when they work.

So, before you start rolling out thousands of VDI desktops on your expensive hosting and storage hardware, do yourself a favour and get a handle on understanding and slimming down your OS build before the helpdesk line starts ringing with “My VM is running slow!”

  1. December 1st, 2010 at 12:54 | #1

    For detailed testing on whether the optimisations listed above are relevant and worth it for you, I’d recommend looking at the excellent Project VRC below.

    http://www.projectvrc.com/index.php?option=com_docman&task=doc_details&gid=12&Itemid=

    Jim Moyle

  2. December 1st, 2010 at 13:26 | #2

    Also you can check out http://www.vmware.com/files/pdf/VMware-View-OptimizationGuideWindows7-EN.pdf from VMware on optimising Windows 7

  3. WoodITWork
    December 1st, 2010 at 15:38 | #3

    Thanks, Jim for the additional info. I’ve updated the post

  1. No trackbacks yet.
Comments are closed.