So you've done your use case scenario analysis and there are some use cases that just don't fit the session hosting model (see my previous post VDI vs. Terminal services). The typical VDI (virtual desktop infrastructure) delivery project balances density, performance, and cost. Density refers to the number of users that can be serviced by a particular architecture (hardware, software, network, etc.). Performance refers the end user experience from a usability perspective. Of course, cost is the project budget.
Here are some tips to help you get the most out of your VDI environment.
#1 Managing hardware bottlenecks
Typically, the server hardware will have three major bottlenecks, Disk, Memory, and Processor. As with most bottleneck management scenarios, the most constrained resource needs to be dealt with first. It is critical to manage these bottlenecks. In fact, most of the tips that follow will help to address them.
As a general rule, server side bottlenecks will manifest themselves in the following order with the noted impacts
|1. Disk I/O||User Density and Performance|
|3. Processor||User Density and Performance|
#2 Choose the right guest and host combination
Most VDI deployments that I see are focused on Windows 7 or Windows XP. Windows 7 requires significantly less disk I/o than Windows XP once booted. If you have the option, select Windows 7 where possible. Additionally, Windows 7 is hypervisor aware and with SP1 and Hyper-V as the host, Windows 7 is supported with an initial memory allocation of only 512MB rather than 1GB normally required. This combination can significantly increase user density. In fact Microsoft claims 40% greater density than the competition with this combination. This is such a huge leap forward that I expect other vendors to provide similar density improvements in short order.
#3 Dynamic memory
If your hypervisor supports dynamic memory, use it. It can significantly decrease the memory bottleneck and boost performance and density.
#4 The SAN is your friend
Unlike session hosting, any VDI deployment that needs to support a significant number of users will require a SAN. Higher IOPs are available with SAN technology than is currently available with DAS.
#5 Don't fight a Clone War
If you are managing a Pooled VDI solution, linked clones or differencing disks seem like a good fit since they minimize storage requirements. My feeling is that the management overhead of linked clones is not worth the storage savings. Consider that every time the parent image is patched, all clones need to be recreated. Additionally, if you are following the advice in tip #4, you will be using a SAN. Most modern SANs have deduplication technology built-in that can provide similar (if not better) storage savings and offload the processing from the host.
#6 User state management
User state (roaming profiles, etc.) is disk i/o heavy. If you can get away without maintaining user state, all the better. If you must maintain user state, consider some of the tools available from vendors like Citrix, Quest, RES, Appsense, Liquid Labs, etc. that virtualize user state. They claim 50% disk i/o reductions
#7 Don't forget the network
The network infrastructure used to deliver the VDI service can also have an impact on performance and indirectly on density. Depending on the protocol that is in use, anywhere from 20k to 60k per session may be required with minimal latency. Currently the Citrix HDX protocol (successor to ICA) is the most efficient low bandwidth protocol.
#8 GPU virtualization
If you need to deliver a rich media experience (video, 3D graphics, etc.), consider solutions that let you virtualize the GPU on the host so that the data stream to the client can be minimized. I am only aware of RemoteFX that provides this option currently, but I expect others to deliver similar technology as well. Another option that might make sense is to consider bladed workstations hosted in the datacenter if graphics intensive applications need to be delivered remotely.
#9 Management tools
If you are already using tools for your desktop and server management, consider solutions that let you continue to use them in your VDI environment to maximize the ROI on those tools. If you are in the market for new tools, ensure that they cover as many of the delivery scenarios that you need to manage as possible or at least have integration options. Since there are interactions across the infrastructure (network, directory services, security, etc.) visibility is lost when management tools are used in silos.
Licensing is one of the areas that is often overlooked by technical professionals. Remember that not all license versions of Windows are allowed to be virtualized (e.g., OEM). There may be additional costs associated with license upgrades or replacement. Additionally, revisiting licensing models that allow for named user or concurrent use may be in order as your desktop infrastructure moves to a new model.
Colin Smith is a Microsoft SCCM MVP who has been working with SMS since version 1.0. He has over 20 years of experience deploying Microsoft-based solutions for the private and public sector with a focus on desktop and data center management.