BizTalk Environment Review

Jan 5, 2009 at 9:24 AM
Hi Clint,

I am looking to review existing BizTalk environments. Its not that we are facing some performance issue but it is proactive step to improve the performance of BizTalk by optimizing resource utilization. When I was compiling best practices to be followed for Biztalk environment, I came across PAL tool which can help us baseline existing performance and can be used to identify performance improvement (if any) after modifications to BizTalk environment.

I understand that PerfMon logs can be analyzed using this tool, but I am wondering which counters should I cover as part of this exercise in PerfMon log.

Moreover, if I decide to include all Biztalk related counters, then what impact will it have on existign performance of BizTalk Server?

Thanks,
Sudhir
Coordinator
Jan 6, 2009 at 9:50 AM
Hi Sudhir,

Since BizTalk 2006 ships with over 300 performance counters, I originally wrote PAL to help me analyze those perfmon logs. :-)

You can use the Export to Perfmon Template button on the Threshold tab in the PAL Wizard to create a perfmon log template with all of the BizTalk and SQL Server performance counters in it that the BizTalk threshold file analyzes. If your SQL Servers are named instances, then you will need to manually add the SQL performance counters because named instances of SQL server use uniquely named performance counters based on the name of the named instance. Also, you can use the same perfmon log template for all of the BizTalk servers as well as the SQL Servers.

When gathering perfmon counters, you want to gather enough data to cover the metrics you are looking for, yet short enough not to make the log huge. When choosing a sampling interval, take the time you intend to capture and divid it by 500. Perfmon on Windows XP/2003 can only show up to 500 data points at a time.
Jan 29, 2009 at 12:19 PM
Thanks Clint. I got some valuable analysis from PAL, but I am confused with few things. Probably you will be able to help me out.

I ran PerfMon at same time on all Host instances simultaneously, and I was expecting that report specific to host instance will provide me information about only those hosts which are running on that specific instance. But I am not sure if this is the case while reporting on suspended messages, it seems PAL is directly reporting from MessageBox, which explains as to why information related to suspended messages is common across all reports for different instances. But, then confusing part is that suspended message report is not identical for all host instances. What possible could be the reason?

There is another thing which is not related to PAL tool but related to analysis of report. In one of the report two worker processes (w3wp#2 and w3wp#3) are reported to be consuming high processor time, but my dilemma is how to identify actual web application, which is consuming high processor time. Please suggest some solution.

Regards,
Sudhir
Coordinator
Jan 29, 2009 at 11:59 PM
Correct, some of the BizTalk performance counters get their data specifically from the msgbox database. Please tell me which counters you are specifically asking about.

If you set the following registry key, then the pound symbol will be replaced with the process ID.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance]
"ProcessNameFormat"=dword:00000002

Also, there is an IISApp script that will identify the IIS worker processes to process ID's. I just can't remember the name of the script.
Also, there is a perf counter called ID Process which will tell you the process ID of the counter instance.
Jan 30, 2009 at 4:22 AM
Thanks a lot Clint. Now, hopefully I will be able to nail down culprit web application.

When referring to reporting from MessageBox, I meant Suspended Messages Count. If PAL is reporting from MessageBox then report should have been exactly same for all the host instances because PerfMon was running on all host instances at same time. But there were differences in reports (in terms of hosts reported in each report).

Regards,
Sudhir
Coordinator
Feb 4, 2009 at 3:10 AM
Which counter are you specifically referring to? The reason I am asking is because each host has a separate queue and suspended messages making it appear to be different. Each of the host instances should shows the same number of suspended messages respectively.
Jun 24, 2009 at 10:34 AM

Hi Sudhir, 

A late reply but maybe it helps you along ... Make sure to also check the BizTalk Server Best Practice Analyzer to give the platform a good review. 

http://www.microsoft.com/downloads/details.aspx?FamilyID=93d432fe-1370-4b6d-aaa8-a0c43c30f5ab&displaylang=en

regards

/Lars

Coordinator
Jun 24, 2009 at 7:49 PM

+ 1 on that and...

BizTalk MessageBox Viewer
http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx