BizTalk Server: Troubleshooting with Performance Monitor
The BizTalk Performance Monitor Counters are an easy and quick way to investigate a potential issue with BizTalk Server. They can also help determine a baseline of what is expected during normal business load. Here is a breakdown of the performance objects and some of their counters:
Message Box Performance Counters
The BizTalk:Message Box:General Counters object has several counters that involve SQL Agent jobs. One key counter is Tracking Data Size, which tracks the size of the TrackingData_x_x tables. The data in the TrackingData_x_x tables is moved to the BizTalkDTADb and/or the BAMPrimaryImport databases. If this counter shows that the TrackingData_x_x tables continue to grow and never decrease, something is preventing this data from being moved. If you suspect a failure with the Tracking TDDS process, this counter can help confirm.
The BizTalk:Message Box:HostCounters object includes the Host Queue – Suspended Msgs – Length counter, which determines the total number of suspended messages for a host. If BizTalk performance has decreased, use the counter to determine if there is a high number of suspended messages.
For more information see: http://msdn.microsoft.com/library/aa560410.aspx
Orchestration Performance Counters
The XLANG/s Orchestrations object includes a handful of counters that measure per second, including: Orchestrations completed/sec, Orchestrations dehydrated/sec, Orchestrations rehydrated/sec and Orchestrations suspended/sec. During normal processing, these counters can help establish a baseline of what’s “normal” and expected in your environment. The same applies to load-based tests; you can use these counters to help determine orchestration performance when the server running BizTalk is processing large messages or a large number of messages.
If an orchestration is dehydrating, and you suspect it’s due to slow response times from an external source, you can use the Dehydration threshold counter to determine how the slow response times are affecting dehydration. For example, you use the WCF-Custom transport with the WCF-SQL binding to execute a stored procedure against a remote server. If the remote server typically takes longer than expected to return, BizTalk Server may automatically dehydrate due to the history of the slow response times. This counter can help determine if that behavior is occurring.
% used physical memory can be used to determine the impact on memory usage when the orchestration instances are executing. For example, if you process large messages repeatedly, use this counter to determine how much physical memory is used. This can also help determine a baseline of what is “normal” and expected.
A persistence point writes to the database. The orchestration design will determine the number of persistence points. The Average batch factor counter can give you an idea of the number of persistence points since the host instance started.
If orchestrations are not processing, you can use the Idle orchestrations counter to determine how many instances are waiting for a shape to complete.
For more information see: http://msdn.microsoft.com/library/aa561431.aspx
Host Throttling Performance Counters
The BizTalk:Message Agent object has two objects that can determine if BizTalk Server is throttling: Message delivery throttling state and Message publishing throttling state. When messages are processing slowly, these counters are the quickest way to determine if throttling is the reason, and why.
For more information see: http://msdn.microsoft.com/library/aa578302.aspx
Tracking Data Decode Services Performance Counters
The BizTalk:TDDS object has counters that monitor TDDS and Business Activity Monitoring (BAM). Counters include Batches being processed and Total Failed Batches, which can help determine if there is an issue with TDDS. TDDS is responsible for moving the tracking data from the BizTalkMsgBoxDb database to the BizTalkDTADb and BAMPrimaryImport databases.
For more information see: http://msdn.microsoft.com/library/aa560810.aspx
Adapter Performance Counters
There are several performance objects specific to adapters, including FILE, HTTP, MSMQ, POP3, SMTP, SOAP, SQL and Windows SharePoint Services. Counters like Messages received/sec and Messages sent/sec can be helpful.
See Also
Read suggested related topics:
- BizTalk Server: Performance Tuning & Optimization
- BizTalk Orchestration Performance: Thoughts from BizTalk Support
- BizTalk Server: Performance Counters
- Microsoft BizTalk Automatic Throttling
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.