Hey people! I discovered a new tool… and it’s called Perfinsights! (Part 1 of 2)

4 minute read time.

Good afternoon, today I have something new I found. Well I am not 100% on how “New” it is but its new to me, so we will leave it at that. So, I was handed a tool recently from Microsoft themselves on a Case I was working. This tool was called Perfinisights. Based on Microsoft’s website it looks like its been around a few years or so. It’s a performance measurement tool designed for Virtual Machines. The VMs it refers to is specifically to Azure Cloud. Although its marketed as an Azure Cloud performance tool, I did try it out on AWS machines and VMWare machines, and it does appear to mostly work. Some of the Azure specific features do not work (as I would expect) but others like detecting incomplete SQL setup, network latency, hard drive status, and others do work. It’s like an all-in-one performance test tool for VMs. I am only bringing it up because it does (to an extent) work for other VM type machines.

Here is a short description from the site.

“PerfInsights is a self-help diagnostics tool that collects and analyzes the diagnostic data and provides a report to help troubleshoot Windows virtual machine performance problems in Azure. PerfInsights can be run on virtual machines as a standalone tool, directly from the portal by using Performance Diagnostics for Azure virtual machines, or by installing Azure Performance Diagnostics VM Extension.”

Note that it can be ran on a VM as a standalone tool, which is exactly what I did with AWS and VMWare. If you want to try it out on your own, you can download the tool from the links at the end of the blog. When downloaded, the perfinsights comes as a zip file. Try to extract to an easy to navigate location as we will have to invoke the application from the command prompt. So, the shorter the path the easier. Also, before extracting make sure to check if the zip file is blocked. If it is, you will want to unblock before extracting.

(right click on file and select properties to see the properties of the file)

Once the application tool is extracted, open the directory and make sure it looks like mine. You should have all the same files and folders that I do.

As you see in the screenshot, I have extracted directly to the “C” drive. This way it will be super easy to navigate to. (C:\perfinsights)

 Next will want to open the command prompt (aka CMD). You can find the CMD on the start menu. Make sure to open as an administrator (right click open as administrator), or you can search for CMD from the search icon.

Now we are going to have to change the directory to the Perfinsights directly that we created. Hopefully you all remember where you extracted it to.

Again, easier is better. As you see I made it easy and extracted directly to the “C” drive. The Command we are going to run is the following:

PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics

This is going to run a generic overview of the CM slowness, hints the vmslow. The 300 represents the number of seconds it will run. Typically, you would run this during the slow performance aspect of the machine(s) when it’s exhibiting the actual situation. For the sake of demonstrating I will run it as is just to show how it works. If you would like to see more commands, please check out the links at the end of the blog. If the tool is running correctly you will get the following screen.

 

The tool will first check for any updates before running then it will run for the set amount of time (300 seconds). My understanding is that there is not specific limit on time. If you all check out the documents listed at the end of the blog; you can see there is a ton more tests that you can run with this tool. It even does IO benchmarking. After the test is complete, the tool will generate a zip file like so:

It should be right in the same main directory as the perfinsights.exe application is. Normally at this point Microsoft would have you send them the zip file, but in our case, we are going to extract it and look at it. The extracted folder should look like this:

 

The HTML file is the actual report and the rest of the folders is the generated data.

And…

 

 

… to be continued.

 

 

Keep a lookout for the part 2 where I will discuss the HTML report.

 

P.S.

Links for the Perfinsights stuff I promised:

Perfinsights Documents for Windows:

https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/how-to-use-perfinsights

Download Perfinsights for Windows:

https://www.microsoft.com/en-us/download/details.aspx?id=54915

Perfinsights documents for Linux:

https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/how-to-use-perfinsights-linux

Download Perfinsights for Linux:

https://www.microsoft.com/en-us/download/details.aspx?id=58426

 

Note: Everything discussed today can be found on Microsoft’s TechNet website(s). The Tool is primarily designed for Azure VMs and may not work for all VM instances. I do not claim to have expert level knowledge of the tool and not responsible the tool’s outcome of any machines. Use at your own risk… *scary ghost sounds*