If you’ve ever run into the situation where you want to analyze performance data on Windows Server and don’t know what counters to collect or how to analyze the data, the PAL tool might be just what you need.
Yesterday, I found out about the Performance Analysis of Logs (PAL) Tool, which drastically eases the process of Windows performance data analysis. The application is written specifically for Windows 7 64-bit, but I was able to install and run the application on Windows Server 2008 R2 64-bit.
You can download the PAL application from CodePlex. The pre-requisites for the application are PowerShell 2.0 or greater, MS .NET Framework 3.5 SP1, and Microsoft Chart Controls for MS .NET Framework 3.5. I’m mentioning this here because I am positive I’m not the only person that doesn’t read the fine print when installing software and, unless you have a specific use for it, I’m sure that MS Chart Controls is not installed on your server.
This tool provides a GUI to pass arguments and parameters to the powerful PowerShell script that performs the heavy lifting. The GUI is a wizard that captures the information necessary to complete this process. You must provide the location of the counter log that will be analyzed, the Threshold file (which defines the counters and acceptable thresholds for each), questions about the system being checked, and the output directory for either an HTML or XML report.
As you can see from the screenshot below, there are quite a few pre-configured Threshold files including options such as .Net Framework, IIS (5,6, and 7), and SQL. These configuration files allow the user to target the specific application/process which needs to be analyzed in order to pinpoint the cause of the performance degradation.
For my benchmark analysis, I ran the pre-defined System Performance Data Collector Set (DCS) from with-in Performance Monitor. This DCS runs for 60 seconds and gathers NT Kernel trace data and the most common system performance counters. By default, the files that are generated are stored in c:\perflogs\system\performance\servername_date-instance. Once perfmon completed gathering the data, it was time to take a spin PAL for a spin.
Now for the fun part. I started the application, entered all necessary data and walked away for the report to generate. Without the MS Chart Controls installed, this failed. When I checked back on the process, I had a ‘doh’ moment because of the error that was returned. It specifically stated that I was missing those controls and told me where I could download them from. That’s why I included this vital information at the beginning of this blog. After installing these controls, I ran the application again and got a very informative HTML report that I was able to provide to the client via his website.
The report is broken down by timeframe and actual counter groups. Each link includes the number of alerts encountered during the timeframe or by the counter type. You can quickly scan the report to see any issues. In this example, there are alerts for Physical Disk:
The provided embedded link for the PhysicalDisk Read Latency Analysis takes you to the exact location within the report to see what the thresholds for the counter are and a graph of the data. There are also reference links included to TechNet articles that provide additional information to aid in resolving the alert.
Hopefully your applications will never cause problems where you need to use this application, but if they do, it can provide invaluable information to locate and resolve performance related occurrences.
For managed Windows server hosting support by people like Terri, check out OrcsWeb. More information about their solutions can be found here: Windows Cloud Servers, Dedicated Windows Server Hosting, PCI Hosting Solutions, Complete Care Managed Solutions (CCMS).