Windows 8 and 8.1 have been around long enough to be making their way more often into enterprise environments. With that in mind, the time has come to release the Worldwide Consulting Optimization Guide for our customers, partners, and field resources to deliver a leaner Windows 8 or 8.1 virtual desktop. The official guide can be found here, but in this post I will share some of the results when we put this guide to the test. I would also like to thank everyone who contributed and made this guide possible, especially the Citrix Solutions Lab for hardware and support and EMC for providing us with a large storage array.
Now let’s jump in to how we tested.
We used some pretty beefy hardware which is briefly summarized below. Note that both the default and optimized test runs were performed on the same hardware, which is really what matters in this case.
|Server||HP ProLiant BL460c Gen8|
|CPU||16 Cores Intel Xeon @ 2.60 GHz|
|Storage||EMC VNX5500 Storage Array|
|Hypervisor||Hyper-V 3 on Server 2012 R2|
|Image Delivery||Provisioning Services 7.1|
Each test run consisted of 80 64-bit Windows 8.1 desktops on a single server running the LoginVSI 4.0 Medium workload. LoginVSI was chosen as it is an industry standard load testing tool which provided a great means of comparison. For more on LoginVSI see the official documentation on their website. While the workload ran, performance metrics were captured both on the Hypervisor level and on several virtual desktops using Windows Perfmon.
Two Windows 8.1 images were deployed and tested. A baseline was established with what we considered a default installation and then compared to an optimized desktop image. Note that in the default installation we did allow the automatic optimization tool to run. If you are unfamiliar with the optimizer tool, you can find more information here. We decided to do this based on feedback that most installations will run the automatic optimization tool and that not doing so would inflate our results. If you have not run the optimizer tool then you potentially have even more to gain than what I will share below.
Now the part you have all been waiting for…the results! Below I share our results and show you why you should consider optimizing your Windows 8 or Windows 8.1 virtual desktop. The results in the table below are the averages of 5 test runs during steady-state (after all 80 machines have logged on).
|Total CPU % Run Time||55%||42%||24%|
|Disk Mbytes Total/Sec||9.6||8.4||13%|
|Virtual Machine Network Traffic (Mbps)||120||92||23%|
|Virtual Machine Level|
|Available Memory (Mbytes)||458||644||40%|
To help visualize these results, below are some graphical comparison throughout the test runs. Notice the total CPU runtime for the hypervisor is consistently lower during both logon (up to around 2800 seconds) and steady state (after 2800 seconds) for the optimized configuration. These savings in CPU can allow for faster responses to boot storms, more desktops per host, and a more scalable desktop deployment.
Below is a comparison of two virtual machines available memory overlayed throughout a test run. The first 300 seconds in the graph are prior to logon. You can see that the optimized machine has around 200MB of additional available memory before the user has logged into the machine. This gap remains throughout the entire test run. The optimizations result in a machine with a lower memory footprint allowing for additional machines (if using dynamic memory allocation) or better user experience with less paging and lower disk IO. At 80 desktops per run, we had an additional 16GB of memory available :)!
Let’s look at the network next. The graph below shows the total network traffic on the virtual desktop network from the hypervisor level. The numbers may seem high, but don’t forget that this includes the streaming traffic from Provisioning Services, as well as 80 desktops watching videos and flash games with bandwidth coming in from a web server and then out again to the client launchers. This is almost a 25% reduction in bandwidth usage and users still got to keep their desktop background in the optimized image! For those who are particularly concerned with bandwidth requirements you can always refer to the Bandwidth Blog Series or check out the Virtual Desktop Handbook. (Shameless plugs, check :))
Onward to disk! We were lucky enough to have an EMC storage array on hand which could handle everything we threw at it, but as you can see below, we made some gains on disk with our optimizations. Now as is typical with Provisioning Services, most of the disk activity (>90%) was writes as this array housed the write cache drives for our desktops. For those who may not be so fortunate to have a big EMC array or want to get more out of it, optimizing may be yet another tool to get your storage under control. I should also note that we did not enable Intermediate Buffering, which is a long known PVS optimization since we were using Hyper-V which has seen degraded performance with it enabled. For more on this optimization and when to use it see this KB article.
Now since we used LoginVSI, why not look at the index score. This index is based on response times and is used to calculate the VSI Max score – an estimate of how many users an environment can handle. In this case we did not reach the VSI Max score since we kept the test runs to the same number of users each time to get consistent data captures. We do however, have the index which is shown below. As you can see in the graph, the test runs were consistent for each desktop image, and the optimized image was consistently lower. Lower is better :).
Although Windows 8 and 8.1 have made improvements in being virtualized out of the box, there is still a lot of room for performance gains to be made. Now I am not suggesting to blindly implement everything in the guide, but take a look and see which optimizations are right for your organization and work with application vendors to optimize specific applications as well. A leaner OS may make the difference between a good virtual desktop deployment and a great one. Good luck J!
P.S. The guide comes with a feedback link so let us know what you think as we are always looking for ways to improve our content.
Once again you can find the guide here.
Thanks for reading,