Microsoft BizTalk Server 2010 Message Box and Orchestrations Performance Counters

BizTalk Server 2010 Message Box and Orchestrations Performance Counters

This template assesses the status and overall of performance of Message Box and Orchestrations of default Microsoft BizTalk Server 2010 installation.

Prerequisites: RPC access to the target server.

Credentials: Windows Administrator on the target server.

For more information about BizTalk orchestration, see:
http://www.microsoft.com/biztalk/en/us/orchestration.aspx;
http://msdn.microsoft.com/en-us/library/dd800372.aspx.

Note: For monitoring a BizTalk server, you can also use “Internet Information Service (IIS) Services and Counters,” “Windows Server 2003-2008 Services and Counters,” and “SQL Server 2005-2008 Performance” templates.

Monitored Components

Service: BizTalk Server Application

This component monitor shows the status of the BizTalk Server Service.

Note: If this service is stopped, all performance counters related with BizTalk become unavailable.

Message Box (General): Instances - Total Number

This component monitor tracks the sum of all the instances of each host which exist within a particular Message Box.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:General Counters category and check what instance this counter uses (for example: biztalkmsgboxdb:emily).

Message Box (General): Spool Size

This component monitor tracks the size of the spool on a particular message box on a particular server.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:General Counters category and check what instance this counter uses (for example: biztalkmsgboxdb:emily).

Message Box (General): Tracking data size

This component monitor tracks the size of the tracking data table on a particular message box on a particular server.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:General Counters category and check what instance this counter uses (for example: biztalkmsgboxdb:emily).

Message Box (Host Queue): Instance State Msg Refs – Length

This component monitor tracks the number of message references in the Instance State Queue for this particular host.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:Host Counters category and check what instance this counter uses (for example: biztalkserverapplication:biztalkmsgboxdb:emily).

Message Box (Host Queue): Length

This component monitor tracks the total number of messages in the particular host queue.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:Host Counters category and check what instance this counter uses (for example: biztalkserverapplication:biztalkmsgboxdb:emily).

This counter can be useful in determining if a specific host is bottlenecked. Assuming unique hosts are used for each transport, this can be helpful in determining potential transport bottlenecks. Host Queue Length is a weighted Queue length by aggregating the record count of all the Queues (Work Q, State Q, Suspended Q) of the target host. This counter should be near zero.

Message Box (Host Queue): Number of Instances

This component monitor tracks the number of instances of this particular host.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:Host Counters category and check what instance this counter uses (for example: biztalkserverapplication:biztalkmsgboxdb:emily).

Message Box (Host Queue): Suspended Msgs – Length

This component monitor tracks the total number of suspended messages for the particular host.

Note: The instance field is installation-specific. Open windows perfmon utility, find BizTalk:Message Box:Host Counters category and check what instance this counter uses (for example: biztalkserverapplication:biztalkmsgboxdb:emily).

The suspended message queue is a queue that contains work items for which an error or failure was encountered during processing. A suspended queue stores the messages until they can be corrected and reprocessed, or deleted. An increasing trend could indicate severe processing errors.

Orchestrations: Average batch factor

This component monitor returns the current ratio between the number of persistence points committed and underlying database transactions committed.

This metric is beneficial where the Orchestration engine merges multiple atomic transactions into a single transaction. Assuming that a "persistence point" is really a segment boundary, this metric provides some substantial facts about the effect of batching atomic transactions. The greater the number, the greater the effect of "transaction batching" (that is, the less underlying transactions are being created).

Orchestrations: Database transactions

This component monitor returns number of underlying database transactions used to commit orchestrations work.

Orchestrations: Database transactions/sec

This component monitor returns number of underlying database transactions used per secon


Orchestrations: Dehydrating orchestrations

This component monitor returns total number of dehydratable orchestrations which are currently in the process of dehydrating.

When many long-running business processes are running at the same time, memory and performance issues are possible. The orchestration engine addresses these issues by "dehydrating" and "rehydrating" orchestration instances. Dehydration is used to minimize the use of system resources by reducing the number of orchestrations that have to be instantiated in memory at one time. Therefore, dehyrations save memory consumption, but are relatively expensive operations to perform. If so, BizTalk Server may be running out of memory (either virtual or physical), a high number of orchestrations are waiting on messages, or the dehydration settings are not set properly. This counter should be less than 10.

Orchestrations: Dehydration cycles

This component monitor returns number of dehydration cycles completed.

Orchestrations: Megabytes allocated private memory

This component monitor returns megabytes of allocated private memory for the host instance.

Private Bytes is the current size, in bytes, of memory that a process has allocated that cannot be shared with other processes. A host instance consuming large portions of memory is fine as long as it returns the memory to the system. Look for increasing trends in the chart. An increasing trend over a long period of time could indicate a memory leak.

Orchestrations: Megabytes allocated virtual memory

This component monitor returns megabytes reserved for virtual memory for the host instance.

A host instance consuming large portions of memory is fine as long as it returns the memory to the system. Look for increasing trends in the chart. An increasing trend over a long period of time could indicate a memory leak.

Orchestrations: MessageBox databases connection failures

This component monitor returns number of attempted database connections that failed since the host instance started.

If the SQL Server service hosting the BizTalk databases becomes unavailable for any reason, the database cluster transfers resources from the active computer to the passive computer. During this failover process, the BizTalk Server service instances experience database connection failures and automatically restart to reconnect to the databases. The functioning database computer (previously the passive computer) begins processing the database connections after assuming the resources during failover.

Orchestrations: Online MessageBox databases

This component monitor returns number of MessageBox databases currently available to the application.

Orchestrations: Orchestrations completed/sec

This component monitor returns number of orchestrations completed per second.

This is a good indicator as to how much throughput BizTalk is processing.

Orchestrations: Orchestrations created/sec

This component monitor returns number of orchestrations created per second.

Orchestrations: Orchestrations dehydrated/sec

This component monitor returns number of orchestrations dehydrated per second.

Orchestrations: Orchestrations discarded/sec

This component monitor returns number of orchestrations discarded per second.

An orchestration can be discarded if the engine fails to persist its state. This counter should be always zero.

Orchestrations: Orchestrations suspended/sec

This component monitor returns number of orchestrations suspended per second.

Generally, suspended instances caused by system errors are resumable upon resolution of the system issue. Often, suspended instances due to a message problem are not resumable, and the message itself must be fixed and resubmitted to the BizTalk Server system. This counter should be always zero.

Orchestrations: Pending work items

This component monitor returns number of basic code blocks that are scheduled for to run.

Orchestrations: Running orchestrations

This component monitor returns number of orchestration instances currently executing.

Portions of this document were originally created by and are excerpted from the following sources:

Microsoft Corporation, “MSDN Library,” Copyright Copyright 2012 Microsoft Corporation. 
All rights reserved. Available at
http://www.microsoft.com/biztalk/en/us/orchestration.aspx