Click here to Skip to main content
13,511,635 members
Click here to Skip to main content
Add your own
alternative version


15 bookmarked
Posted 27 Dec 2007

Learn BizTalk Server Perfmon Counters

, 27 Dec 2007
Rate this:
Please Sign up or sign in to vote.
Learn BizTalk Server Perfmon Counters


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 (

Thanks a lot!

Nilay Parikh


  • 27th December, 2007: Initial post


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


About the Author

Nilay Parikh
Software Developer
United Kingdom United Kingdom
My primary skill set comprise of EAI, ETL and EDI with immense experience in Microsoft BizTalk v2004/2006/R2, Web Services, .net v2.0/3.0 (WCF, WWF), SQL Server 2000/2005 (SSIS/SSAS/BIDS). I have very good proficiency with the BizTalk 2004/2006, SSIS, SS Service Broker, Workflows and MS SOA supportive technologies like WCF/MSWSE 2.0, with thorough knowledge of various Integration System Development Strategies like integration patterns, EAI concepts, B2B integration and securities, SOA. Specialties: BizTalk v2004/2006/R2, SSIS, SSAS, .net 2.0/3.0, WinCF, WinWF, Host Integration Server 2004/2006

Personal Technology Blog:

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.180417.1 | Last Updated 27 Dec 2007
Article Copyright 2007 by Nilay Parikh
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid