Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / Win32

Learn BizTalk Server Perfmon Counters

3.67/5 (2 votes)
27 Dec 2007CPOL2 min read 1  
Learn BizTalk Server Perfmon Counters

Introduction

I am trying to consolidate few perfmon parameters and statistic counters to measure and improve BizTalk Server performance; these can be very important indicators and mirror your landscape.

Hope you like my efforts...

Counter: Low % CPU Idle (On BizTalk Server)

Area of Analysis

  • Too many hosts running on the server
  • Improper use of custom pipelines
  • Custom components requiring optimization

Possible Solutions

  • Isolate receive, process, and send functionality into different hosts and run host instances on different servers within the BizTalk Server Group
  • Move message transformation out of orchestrations to your ports to avoid the creation of new copies
  • Move message filters to your ports and receive locations
  • Optimize your schema. Large schemas reduce performance
  • Use distinguished fields in orchestrations rather than properties or XPath
  • Use pass-through pipelines whenever possible

Counter: Low % CPU Idle on SQL Server

Area of Analysis

  • Check if DBA changed any of the default database settings set by the BizTalk installation
  • Max Degree of Parallelism are set to off Auto-Update Statistics and Max Degree of Parallelism are set to off and 1 respectively on purpose

Possible Solutions

  • Minimize the number persistence points in your orchestrations
  • Use static methods instead of wrapping nonserializable components in atomic scopes
  • Avoid using Parallel shapes, except when needed
  • In a multi-Message box scenario, ensure that you have at least three Message boxes. The master Message box is doing all the routing to secondary Message boxes, which is CPU intensive. Whenever you are using multiple Message boxes, Microsoft’s distributed Transaction Coordinator (DTC) is involved; therefore you need to jump from one Message box to three instead of only two to offset that overhead.

Counters: Low % Disk Idle on SQL Server High Avg. Disk Queue Length on SQL Server

Area of Analysis

  • Check whether the tracking database and Message box are on the same disks
  • Check whether the data and log files are on the same disks
  • Check the log sizes

Possible Solutions

  • Use a SAN
  • Ensure that the tracking and Message-box databases are on different servers
  • If they are on the same server, ensure that they are on different disks
  • Ensure that the data and log files are not sharing the same disks. Make sure the BizTalk agents are enabled on the server. The agents copy tracking data from the Message box to the tracking database. They also back up the databases and clean up the logs.

You can find more articles on BizTalk performance at My Blog's Label (BizTalk Performance)
BizTalk SSIS WCF Blog (http://biztalk-ssis-ssas.blogspot.com)

Thanks a lot!
Cheers!

Nilay Parikh

History

  • 27th December, 2007: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)