Ensure User Satisfaction in Virtual Desktop and XenApp Environments with User Virtualization

Virtual Desktop
One of the common challenges we face here at Lockstep when deploying desktop and application virtualization solutions to our customers is how to ensure an optimal user experience. While we find that users overwhelmingly embrace the transition from traditional desktop environments to on-demand, mobile enabled methods for accessing their apps and data, one thing that is clear: if the solution performs poorly, the users will not embrace it and the project’s success will be at risk.

Anyone with experience deploying virtual desktop and applications solutions including Citrix XenDesktop/XenApp, VMWARE View or just plain-old RDS/Terminal Servers, knows that multiple underlying infrastructure technologies affect overall user performance including:

1. CPU: Hosting servers must have enough processing power, often specified in the design phase by the anticipated number of possible users/desktops per CPU core.

2. RAM: Users must have adequate RAM to support the given application set.

3. Disk I/O: Sufficient disk I/O (or IOPS) must be provided by the underlying storage infrastructure.

4. Network bandwidth: adequate bandwidth and minimum latency requirements must be provided.

If any one of these components is improperly designed or not accounted for, the virtual desktop or apps will not perform as expected. Unfortunately, we’ve seen this happen more than once with an improperly designed system (or a system that never had any design at all).

While we could go in depth on how best to properly address each of the components described above, in today’s post I want to focus on the management of CPU resources using our favorite User Virtualization vendor, AppSense. More specifically, we’ll focus on their product: AppSense Performance Manager.

What does Performance Manager do? In a nutshell, it takes a user and application centric approach to managing prioritization of CPU and memory resources in an effort to create a consistently smooth user experience. Using simple rulesets, we can mitigate the risk that a random application or system CPU spike or excessive consumption of RAM will adversely the individual desktop/app user or other users of the shared virtual infrastructure.

Remember, in the world of virtual desktops and hosted virtual applications, what one user does can affect the performance of another when it results in excessive resource utilization. While we always do our best to plan for this in the design phase of the project, putting in place a simple and elegant solution like Performance Manager allows us to control the random processes that occur on desktop operating systems that often result in user complaints and require a significant amount of time to troubleshoot (ever heard, “my system is running slow” only to find that by the time you take a look the problem has already gone away). With Performance Manager, we can set our policies and then go about our business and know a runaway process or application “will be dealt with”.

In the video below, we profile a traditional desktop with a runaway application that consumes 100% of the CPU. Our runaway application is a basic Powershell script that generates the CPU activity by executing a mathmatical equation:

“Write-Host “This app likes to consume 100% CPU.”
$result = 1; foreach ($number in 1..2147483647) {$result = $result * $number};”


Now we’ll profile a desktop equipped with AppSense Performance Manager.

Impressive, huh? Performance Manager is capable of much more but this gives you a basic idea of how it a couple of simple rules can make a huge difference and give you some piece of mind as you deploy and manage your VDI or XenApp environment.

In the interest of time, I didn’t focus on the Performance Manager console or configuration. But if you’re interested in learning more, take a look at this link: Simple Performance Manager Configuration. James Rankin gives an excellent breakout of a basic Performance Manager configuration along with some additional technical breakdown of how Performance Manager works.

Want more info on User Virtualization? Sign up for one of our monthly webinars here: www.lockstepgroup.com