Optimizing desktop images with VMware OSOT
It is a fact that by default Microsoft Windows desktop images contain a lot of features that you wouldn’t necessary need in a VDI environment but finding these services, background tasks and other nifty performance optimization tricks can be quite a challenge. In the upcoming time, I will be testing the effects of optimizing your desktop images and how to perform these steps in your VDI environment.
These are the five typical ways used to optimize the performance of a VDI desktop as I see them most:
- No optimizations at all
- The sysadmins know ‘a trick’ that worked very well in the past
- VMware’s operating system optimization toolkit is used
- Microsoft’s recommended settings for VDI desktops are applied
- Citrix optimizer (beta) is used
In this post I will focus on VMware’s OSOT, simply because it’s out there the longest but don’t worry I will definitely also test the Citrix Optimizer and if I can find the time I might just test Microsoft’s recommendations although unfortunately nobody has converted those into a PowerShell script yet and the list is so long that just reading it takes 24 minutes 😉.
The installation is as simple as can be:
OSOT performs a full scan of your desktop image and advises you on optimizations that you can apply. The list is very extensive and if you want an even faster desktop than the default templates can offer you then why not use one of Login VSI’s. Please note that Login VSI’s templates are made for absolute performance, your desktop will be fast but make sure it also delivers what your users need e.g. a formula 1 car is really fast, but taking it for grocery shopping is not that great.
I’m a fierce believer in automation, everything you can should be automated. I’ve observed so many times that manual steps leave small errors in your desktop images that can cause mayhem that I wouldn’t do anything to my VDI environment that cannot be automated. So, does OSOT allow automation? Yes it does! I’ve integrated it nicely in our Microsoft MDT environment but the same thing should work for other systems like SCCM.
How-to automate? OSOT has an extensive command-line options list. I’ve gone for some basic ones that automatically detect the operating system and decide on the best template for that operating system by itself as in my lab I have a big list of Operating systems running. If you do however have task sequences per operating system I would recommend setting this to a fixed value.
"%~dp0VMwareOSOptimizationTool.exe" -o -v > c:\Audit\OSOT.log 2>>&1
As you can see I’ve gone for the following parameters:
- -o Optimize with default configuration.
- -v Enable verbose mode logging (and save the output to a file).
The moment we’ve all been waiting for, how good does OSOT optimize my system. To keep it fair I will do all the comparisons on default settings and then perform 10 runs with Login VSI to determine the VSImax and the Baseline. I’ve chosen to do these tests on 3 Windows 10 builds of which I’ve updated one (1703u) with all the available Windows updates to see how they impact performance.
The OSOT fling by VMware is a great addition to any VDI environment it works on VMware horizon view, but you might just as well run it on your Citrix XenApp or XenDesktop environment. I even have a few colleagues optimizing their fat clients with it. Not only does user density per server increase but the baseline of the system (the performance when there is little or no stress) lowers, this means that applications will start faster and logons will be completed in less time.