How to analyze and compare two or more ESXTOP logs with perfmon
Are you just looking how to compare two ESXTOP datasets in perfmon? Jump to the last paragraph of this article. Otherwise, continue reading…
I’ve been doing some troubleshooting recently using my favorite tool “esxtop”. Esxtop is a very powerful tool which offers great insights in the performance of your ESXi server and the virtual machines.
Running esxtop in batch mode is even smarter, because then you can investigate trends in your vSphere environment.
You can run esxtop batch mode using the -b parameter, for example:
esxtop -b -d 10 -n 360 > esxtopresults.csv
The meaning of the parameters is:
- b = batch mode
- d = delay in seconds, this means that (in this case) a sample is taken every 10 seconds
- n = the number of sample
This example will save 360 performance samples with a delay of 10 seconds between those samples, resulting in performance information for 3600 seconds = 1 hour. The performance data is saved to the file esxtopresults.csv. If you’re collecting a big amount of data you can compress the data using the following syntax:
esxtop -b -d 10 -n 360 | gzip > esxtopresults.csv.gz
Esxtop will collect all performance data if you add the “-a” parameter. If you want to have a subset of data, you can limit the amount of data by following this procedure.
Analyze the data in Windows perfmon
A very powerful option is to analyze esxtop results in Windows perfmon. Open perfmon, clear all data by clicking right mouse and “remove all counters”. The next step is to right mouse click, properties, click source and add the esxtop csv file.
After selecting the counters you’re interested in, a beautiful graph appears on the screen! In this case I’m analyzing NFS read/write activity:
Combine/compare EXSTOP results in perfmon
So, let’s say I am not monitoring one ESXi host, but two. And I want to compare performance between these hosts. You might come up with the idea of adding a second source to perfmon, so we can compare results. Adding a second source to perfmon results in the following error:
Perfmon will not allow you to add a second source…unfortunately :S.
But, there’s a trick. First save your orginal results as a binary file (*.blg):
After saving the data, remove these results from perfmon and open the second ESXTOP data set. Select the data you want to compare and save this data as .blg file as well. Now remove the second dataset from perfmon and open both the .blg datasets (yes! this works!):
Now add the counters you want to compare! Important, the .blg format only saves the data you’ve selected in the previous step. So in my case, the blg files show only show the NFS performance data:
After selecting the counters a very cool graph appears. The graphs contains data combined from the ESXTOP datasets! Sounds great right? This is the result: