Sorry, I haven't blogged much in the past few months. I've been heads down on several exciting BizTalk projects which I'll blog about soon after this one. For now, I want to get more of the word out about the Performance Analysis of Logs (PAL) tool that I wrote in collaboration with other people on my team and how to use the tool to analyze BizTalk servers. I use the PAL tool when I conduct BizTalk Health Checks for customers. I'm a field guy (Microsoft Premier Field Engineer) who lives for performance issues and the tool takes the mundane work out of performance analysis. With that said, PAL is not a replacement for performance analysis - it is simply a really nice time saver!
The PAL (Performance Analysis of Logs) tool is a new and powerful tool that reads in a performance monitor counter log (any known format) and analyzes it using complex, but known, thresholds (provided). The tool generates an HTML based report that graphically charts important performance counters and throws alerts when thresholds are exceeded. The thresholds are originally based on thresholds defined by the Microsoft product teams, including BizTalk Server, and members of Microsoft support. This tool is not a replacement of traditional performance analysis, but automates the analysis of performance counter logs enough to help save you time. This is a VBScript and requires Microsoft Log Parser (free download). The tool is available at http://www.codeplex.com/PAL.
Microsoft BizTalk Server 2006 shipped with about 294 performance counters. This means a BizTalk Server implementation with at least 2 servers for redundancy means there are at least 588 BizTalk performance counters that may need to be analyzed. Therefore, a performance monitor log analysis tool is helpful with analyzing BizTalk performance counters.
Many BizTalk performance issues can be narrowed down by analyzing the resources of the operating system (CPU, disk, memory, and network). For example, if the tracking (DTADB) database file is heavily using a disk, then reducing the amount of tracking would be a logical step towards alleviating the bottleneck.
The PAL tool is can be used to create a Microsoft Performance Monitor (perfmon) template file from PAL threshold files and can analyze the perfmon log after its collection period. In this example, we will create, gather, and analyze a BizTalk performance monitor log file.
Collect a Microsoft Performance Monitor (perfmon) log
1. Export a Microsoft Performance Monitor Log from the BizTalk Server threshold file.
a. Selecting the Microsoft BizTalk Server Server 2006 threshold file and clicking the Export… button, then save the file. This is a perfmon template file.
2. Copy the perfmon template file to the BizTalk server(s) you have chosen for analysis. This includes the Microsoft SQL Servers hosting the BizTalk databases.
3. Create a new performance monitor log using the template exported in step 1. For more information on how to create performance monitor logs from a template file, please refer to the Windows help documentation.
a. Adjust the perfmon log settings if needed.
4. Start the new performance monitor log. Stop the perfmon log when the collection period is over.
5. Copy the perfmon log to the installation directory of the PAL tool.
Filling out the PAL Wizard Form
Interpreting the Report
The report generated by the PAL tool is simply an interpretation of the perfmon log data using generalized thresholds. The intention is to assist with performance analysis, but not to replace traditional performance analysis. Therefore, you should have a working knowledge of the BizTalk architecture and BizTalk performance analysis.
The thresholds used in the BizTalk threshold file include operating system thresholds (CPU, disk, memory, and network), Microsoft SQL Server counter thresholds, and BizTalk counter thresholds. The BizTalk thresholds generally focus on host throttling, adapter latency, service instance statistics (suspended, dehydrated, etc.), database sizes, and memory usage.
The PAL report is separated by categories and in each category is a collection of analyses. Each analysis focuses on a specific performance counter. If any of the thresholds are exceeded, then an alert is raised. The number of alerts in each analysis and the alert condition (typically Warning or Critical) typically indicate the severity of the results. For example, a critical alert in Pool Paged Bytes is a very serious condition and should be resolved immediately. When critical alerts occur, go to the analysis section associated to the alert. In the analysis section, there is typically a description of the analysis, a description of the thresholds used, and a link for more information on the topic.
The analyses in the report contain content describing the purpose of the analysis, why the thresholds are there, and references to more information. To learn more about interpreting the PAL report for BizTalk analysis, then read the following article:
Using the Performance Analysis of Logs (PAL) Tool http://msdn.microsoft.com/en-us/library/cc296652.aspx
All my posts are provided "AS IS" with no warranties, and confer no rights. For PFE Job Opportunities at Microsoft, please visit our website at: http://members.microsoft.com/careers/search/default.aspx - search for keyword “PFE” “PFE: The best place to be at Microsoft”
PingBack from http://www.postsaver.org/tags/biztalk
Clinth, I have just came across yoiur tool and found it very interesting. You indicate "This includes the Microsoft SQL Servers hosting the BizTalk databases", what happens if SQL is on a remote machine.
I have developed a tool, Biztalk dashboard which mainly works on perf counters, you can read about it at my blog salam.hd.free.fr/.../Biztalk-Dashboard.aspx . or read more details in Biztalk hotrod Issue 9 Q1 2010. First version I will make available reads and displays counter values, I am adding currently 2 new functions, one of them is to write those values to CSV. Is it possible to customize the tool to read different formats, not only the counters you provide in your templates?
How effective is the PAL tool in reporting problems?