As we already have seen in the beta release (see my part deux post about Login VSI at https://www.pascalswereld.nl/2014/02/07/login-vsi-vdi-part2/), Login VSI version 4.1 introduces the ability to import performance data from any CSV source in the Login VSI Analyzer. From the box, we can use Windows Performance Monitor, VMware’s esxtop/resxtop or other tools with an export to CSV format as input in the Login VSI Analyzer. We could previously match the performance data from different layers outside of the Login VSI analyzer, but this is switching between data analyzer applications and matching the data in metric type and capabilities of the tools. Yes this would work in the end, but it often takes a bit or some work. With version 4.1 we can do this from the Login VSI Analyzer with both the Login VSI workload data (VSI Max, sessions and responses) and one or more external source data.
This is great for investigating and pinpointing influences from the different layers and components of your infrastructure to your stats, and where saturation (VSImax, see below for a brief explanation) happens from the point of view of infrastructure components reaching it’s limits or other bottlenecks.
In this blog post I want to go deeper into the Login VSI external performance data subject and show you some examples.
Where do we want to get data from?
Important is to decide where to get the external data from and what metrics count. For example running a esxtop in batch mode for VMware hypervisor metrics can create an awful big file with a lot of metric values. Yes, when you don’t have insight in what can be a saturation in the to benchmark environment, a great number of metrics can help you but often just let’s you drown, get’s you lost, swallows and eats you up with the great number of metric data to analyse.
Divide your infrastructure in the several layers of interest starting at the point where the workload counts, at the user experience part the desktop and working down to layers that work with and influence that user experience part. Define what counters you want to monitor before setting up and starting the workload. Storage controller CPU can be a metric that is of interest, but a better metric to look for when dissecting storage IO problems. First get the workload and IO and latency metrics in there, and then start pinpointing in the problem area(‘s).
An example of a external data layered tool model:
- Login VSI for the workload analyses. This will include some system metrics.
- Windows Performance Monitor (Perfmon) for the Windows based desktops (VDI and SRDS) OS. Again here a lot of metrics can be selected, prepare a data set in advance to get your wanted metrics in advance.
- Hypervisor. Use (r)esxtop in batch mode, preferably set up with the wanted metrics (will show you later). Again Windows Performance Monitor can be used here when using Hyper-V hosts. Use XenTop in batch mode for XenServer hypervisors.
- Other monitoring tools for control layer, networking and storage when used in the environment, for use with Login VSI with the option to export to CSV.
Start your external monitoring in more or less the same time window as your Login VSI workload (use pre and post scripts to automate the start and collection of data). Some differentiation can be compensated with the sliders, but keep it close is advisable. And an other much looked over advise, time must be in sync and in the same time zone (take esxtop UTC in account for example, client needs to compensate) else you can have a hard time finding the corresponding data from time sources with a offset or leaves you to edit the times in the CSV for example. When using a large number of metrics be sure to watch disk space of the data location (or zip the results), these can easily grow and fill up your location rendering the disk and most of the time the data useless.
What is this VSIMax talked about earlier?
Login VSI loads the target environment with simulated user workloads using often used user applications like Microsoft Office, Internet Explorer and Adobe PDF reader. By gradually increasing the amount of users in the simulation, the system will eventually be saturated. Once the system is saturated, the response time of the applications will increase significantly. This latency in application response times a clear indication whether the system is (close to being) overloaded. As a result, by (nearly) overloading a system it is possible to find out what its true maximum user capacity is. The point of saturation is represented by the VSIMax value, in the graphs shown as the red X.
In the picture above you see the results from a 10 session knowledgeworker workload on a Windows 2012R2 Remote Desktop Service session host. My test lab saturated at 8 sessions and that is what the VSIMax is for this workload.
How to import external data with the VSIMax?
Two examples, one with Windows Performance Monitor and one with esxtop. Starting with Windows Performance Monitor, Perfmon.
Start your external data collection by creating a data collector set, for Performance Monitor use a data collection set with your metrics and a export location in CSV (set the log format to comma separated). Set the intervals to come close to the intervals of the workload. Start when needed by clicking on the play button (or right click start), start it with a PowerShell script (COM object Pla.DataCollectorSet) or schedule.
With esxtop, or resxtop, prepare your metrics a write these to a config file: start esxtop and select your counters and deselect unwanted counters with f<metric field letter>, go through all the screens and when satisfied use W to write to a file.
Use esxtop with the -c option to load this file. An example of the esxtop command in batchmode where I saved to /tmp/login-esxtop:
esxtop -c /tmp/login-esxtop -b -d 5 > /vmfs/volumes/datastore/login-batch-esxtop.csv
Start this around the time that the Login VSI workload is started (for example use the pre/ post script option). When finished cancel the command and copy the file of the system to the Login VSI analyze data (same goes for Windows Performance Monitor). And watch the file growth and disk space when using large number of metrics and short intervals.
Start up Login VSI Analyzer from the vsi share or from the console (left bottom). Load up your workload.
Use file – import – external data or CTRL-X to load the external data and create a external data tab (that is still called beta in my 4.1). Select the metrics you want to import. For example the esxtop metrics from my batch mode.
Here are some of the external data imports in the Login VSI graphs, one for Perfmon and one for esxtop data (from different runs as I destroyed my testlab in between. ;-)).
Looking at that physical CPU and memory values, my test users are grumpy 😉
Import in different tabs or use the same tab to gradually add metrics. When analyzing, disable all in the screen and just enable the metrics that are of your interest. Switch from set’s to determine your set of interest. Use the zoom for investigating more in detail, use the move function to correct time differences.
Sources: loginvsi.com, microsoft.com, vmware.com