Hi, I’m Mark and I have a problem. I’m always trying to make stuff go faster. Whether it’s my old motorcycle or a brand-new Citrix XenApp / XenDesktop environment's performance, I’m always trying to get the biggest bang for my buck.
Recently, Citrix released the Citrix Optimizer, worked on by Martin Zugec, who I’ve been running into all my career. I'm always seeing him automate or tinker with systems to make them better. This time, he’s converted his knowledge into a tool that can help you get better performance from your systems in just a few clicks.
So, what’s this Citrix Optimizer? Simply put, it’s a tool that scans your system for services, scheduled tasks and other configurations that are not necessarily needed for VDI. For example, the Wireless LAN service or disk defragmentation.
So what does it get me?
Good question, it’s always difficult to quantify how much more performance you get from a system without testing it. In this case, I executed the industry standard test (Login VSI, Knowledge worker) to determine how many users would fit on my system before and after running the Citrix Optimizer and to make sure it works well on different systems. It has cost me about a week to test three different builds of Microsoft Windows 10, including one that was fully updated (1703u) and for your convenience, I've summarized the results in one graph.
As you can clearly see, comparing the system that has been optimized vs. the one that has not been optimized, there is a clear increase in density. But that’s not all the benefit you get. The overall responsiveness of the system also increases. This is something often referred to as the baseline (i.e., the performance of the system when there is little or no stress).
Another advantage can be seen in the logon and application start times. Without optimization, the minimal logon time in my lab environment was 10 seconds and after optimization, this was lowered to 8 seconds. These results might even be higher in production environments where a lot of processes are executed during logon. The application start times also showed improvement, dropping the average application start time by 20%, which I’m sure users will appreciate.
My test environment
When sharing results, It’s always important to describe how these results where produced. I’ve run 180 Windows 10 desktops on a Dell R730 with local flash storage running on XenServer 7.2. My virtual machine templates have been created with the Microsoft deployment toolkit and all performance tests have been executed in fully automated mode with a little help from my good friend Henk Hofs.
How to-optimize your own environment?
When you open the Citrix Optimizer, it asks you to select the template that’s most appropriate for your system. In my case, running windows 10 build 1709, I chose the closest one: Citrix_Windows_10_1703.xml. The simple (this is a good thing!) wizard that takes me to the next step where I can analyze my system.
Citrix Optimizer performs a full scan of your desktop image and advises you on optimizations that you can apply. The list is very extensive. Please note that performance tuning 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).
After completing the optimizations, make sure to reboot your virtual machine at least once before you seal the image and you are good to go. If you did make a mistake in the process, the Citrix optimizer even supports roll-back.