There's no shortage of monitoring solutions in the desktop virtualization space with dozens of vendors offering products that provide a wide range of capabilities. The problem is that there is often a disconnect between the abstract performance metrics and the actual end user experience.
The performance monitoring problem
Imagine that you're looking at a console that monitors the CPU usage of all the desktops in your virtual desktop infrastructure (VDI) environment and one of them is flashing red:
You: There's a flashing red light here!
Other IT Pro: Really? What does that mean?
You: The CPU usage is over 90%!
Other IT Pro: Oh... is that bad?
You: Well, it's red.
Other IT Pro: So... can our users still do their work?
You: Um... I don't know. But it's flashing red!
Other IT Pro: Is that a problem?
There could be all sorts of reasons for a spike in CPU usage and not all of them result in a poor user experience or are even a "bad" experience.
To demonstrate, try this: go to the Microsoft calculator on your Windows desktop, switch it to scientific mode and enter a random eight or 10 digit number. Press the factorial key (the one marked "n!") and it will take forever to complete the operation. The CPU usage will be pegged at 100%, but you will still be able to launch and use other applications with no problems.
The point is that when watching performance monitors without any context, the information you get is pretty generic and not always useful.
Which is why so many performance monitoring solutions lend themselves to the derogatory YAM nickname -- short for "yet another monitor."
Different products function at different levels -- from server-level monitoring all the way down to the process level in individual sessions -- and may have capabilities for alerts, customizable reports or built-in remote support sessions. At the end of the day, your choice will depend on whichever solution happens to have the right mix of features for your environment.
Microsoft's free, built-in solution, Performance Monitor (PerfMon), is a snap-in for the Microsoft Management Console (MMC). Many third-party products consist of alternative MMC snap-ins. It's also possible to get advanced monitoring capabilities through scripting. With just a weekend's worth of work, you can keep track of Performance Monitor, Event Viewer and Task Manager, as well as create customized alerts and reports.
In order for any monitoring solution to be useful, baseline measurements of performance metrics should be taken when servers are operating in a normal state. This will allow you to know when a counter is too high or low and have a point of reference when something does go wrong in your environment.
An even better way to keep track of end users experience is to monitor it directly. This is possible with an application performance monitor (APM). For example, an APM could watch for any time a user clicks the new email button in Outlook and then time how long it takes for the blank email window to actually open. Real-world monitoring like this can be combined with traditional performance monitoring and baseline measurements to dig into what is actually happening when user experience is suffering.
ABOUT THE AUTHOR:
Jack Madden is a blogger at BrianMadden.com covering all things desktop virtualization-related, including storage, management, hypervisors hardware, consumerization, cloud computing and a myriad of other topics. Jack is also the guy that gets sent out to talk to lots of vendors and try out all of their products.
He has been involved behind the scenes at BriForum events since 2008 and was the Media Editor for BrianMadden.com before it became a part of TechTarget. Follow him on Twitter @JackMadden.