Tuning SCVMM for VDI deployments

While most people are aware of SCVMM being used for managing virtualized datacenters, it’s probably less well known that  a number of partners have built products using SCVMM as a platform by using the powershell based API. This article tells you how to tune SCVMM for use in VDI environments.

Products that use SCVMM as a platform include Citrix XenDesktop, Quest vWorkspace and Visual Studio Lab Management (this is not an exhaustive list by any means).  Two of those products (XenDesktop and Quest workspace) are VDI (Virtual Desktop Infrastructure) management products that can be used to manage VDI desktop VMs.


VDI management has different usage patterns compared to server virtualization management. For example, VDI VMs are powered on during the morning when the users need to log on to their desktops and they get powered off in the evening after users log off (all this is controllable via policy). So it’s fairly common to power on large number of VMs in a short period of time which causes a spike in load on VMM to handle large number of parallel jobs. These kind of spikes in load can cause the system to become overloaded. While we continue to make improvements in future versions of SCVMM to handle such scenarios, this post is about best practices for configuring SCVMM 2008 R2 for managing VDI environments. The size of the environment is around 1000 desktop VMs, if you have larger environments, you’ll probably need to use multiple instances of SCVMM.

System Requirements

First, let’s look at the key system requirements for SCVMM and SQL server.  SCVMM system requirements are documented here.

For  managing a VDI environment of 1000 VMs:

  • SCVMM server:  Quad-core, 2 GHz (x64) or greater with 8 GB of memory

    • When running SCVMM server in a VM: 4 Vproc with 8 GB of memory, use fixed size VHD

  • SQL server: SQL server 2008 R2 Enterprise: highly recommend using fiber channel disks for better I/O throughput and configure the database and log files to be on different disks.

    • When running SQL in a VM, ensure data and log files for SCVMM DB are pass through disks to fiber channel disks


SCVMM uses refreshers which are basically periodic polling to get latest configuration of hosts, VMs, network, storage etc so that VMM database reflects the “truth” in the datacenter. These refreshers are needed since configuration can be changed out of band to SCVMM since users can make changes to the environment by going directly to the host or VM. However, in a controlled environment, the amount of out of band changes can be minimized so that the frequency of refreshers can be reduced. Since refreshers take up some amount of system resources, reducing the frequency of refreshers frees up SCVMM to handle the spike in loads that occur in VDI scenarios.

Read the full article here:

Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.