BizTalk Server: Performance Counters

Performance monitor

This tool is designed to give you performance related information of your Server. When installing BizTalk on a server you get an additional set of counters. these are

  • Message Box Performance Counters
  • Orchestration Engine Performance Counters
  • Host Throttling Performance Counters
  • Messaging Performance Counters
  • Tracking Data Decode Services Performance Counters
  • File Adapter Performance Counters
  • FTP Adapter Performance Counters
  • HTTP Adapter Performance Counters
  • MSMQ Adapter Performance Counters
  • POP3 Adapter Performance Counters
  • SMTP Adapter Performance Counters
  • SOAP Adapter Performance Counters
  • Windows SharePoint Services Adapter Performance Counters
  • BAM Performance Counters

Message Box Performance Counters

The message box counters gives you information of your messagebox.

General counters

Instances-Total Number

Tracks the sum of all the instances of each host, which exist within a particular Message Box.

MsgBox Dead Processes Cleanup (Purge Jobs) Time in seconds for most recent run of SQL agent job which releases database rows associated with dead BizTalk processes.
MsgBox Msg Cleanup (Purge Jobs)

Time in seconds for most recent run of SQL agent job which cleans up message box tables associated with removed messages.

MsgBox Parts Cleanup (Purge Jobs)

Time in seconds for most recent run of SQL agent job which clean up message box tables associated with removed message parts.

MsgBox Purge Subscriptions Job (Purge Jobs)

Time in seconds for most recent run of SQL agent job which purges subscriptions which are no longer in use.

Spool Size

Tracks the size of the spool on a particular message box on a particular server.

Tracked Msgs Copy (Purge Jobs)

Time in seconds for most recent run of SQL agent job which copies tracked message bodies for tracked messages.

Tracking data size

Tracks the size of the tracking data table on a particular message box on a particular server.

Tracking Spool Cleanup (Purge Jobs)

Time in seconds for the most recent run of the SQL agent job which purges the inactive tracking spool tables.

Host counters 

Host Queue - Instance State Msg Refs - Length

Tracks the number of message references in the instance state queue for this particular host.

Host Queue - Length

Tracks the total number of messages in the particular host queue.

Host Queue - Number of Instances

Tracks the number of instances of this particular host.

Host Queue - Suspended Msgs - Length

Tracks the total number of suspended messages for the particular host.

 

Orchestration Engine Performance Counters

Its not always the standard BizTalk performance counters are used to check performance for BizTalk this is a good example where you have to combine it with other counters.

 

% used physical memory

Percentage used of total physical memory on the machine.

Active application domains

Number of loaded orchestration application domains in the process.

Average batch factor

Number of persistence points reached since the host instance started, divided by the number of underlying transactions.

Database transactions

Number of database transactions performed since the host instance started.

Database transactions/sec

Average number performed per second.

Dehydratable orchestrations

Number of orchestrations instances that can be dehydrated which are currently hosted by the host instance.

Dehydrating orchestrations

Number of orchestrations that are in the process of dehydrating.

Dehydration cycle in progress

Indicates whether there is a dehydration cycle currently in progress.

Dehydration cycles

Number of dehydration cycles completed.

Dehydration threshold

Number in milliseconds that determines how aggressively orchestrations are being dehydrated. If the orchestration engine predicts that an instance will be dehydratable for an amount of time longer than this threshold, it will dehydrate the instance.

Idle orchestrations

Number of idle orchestration instances currently hosted by the host instance. This refers to orchestrations that are not making progress but are not dehydratable, as when the orchestration is blocked waiting for a receive, listen, or delay in an atomic transaction.

Megabytes allocated private memory

Megabytes of allocated private memory for the host instance.

Megabytes allocated virtual memory

Megabytes reserved for virtual memory for the host instance.

MessageBox database connection failures

Number of attempted database connections that failed since the host instance started.

Online MessageBox databases

Number of MessageBox databases currently available to the application.

Orchestrations completed

Number of orchestration instances completed since the host instance started.

Orchestrations completed/sec

Average number completed per second.

Orchestrations created

Number of orchestration instances created since the host instance started.

Orchestrations created/sec

Average number created per second.

Orchestrations dehydrated

Number of orchestration instances dehydrated since the host instance started.

Orchestrations dehydrated/sec

Average number dehydrated per second.

Orchestrations discarded

Number of orchestration instances discarded from memory since the host instance started. An orchestration can be discarded if the engine fails to persist its state.

Orchestrations discarded/sec

Average number discarded per second.

Orchestrations rehydrated

Number of orchestration instances rehydrated since the host instance started.

Orchestrations rehydrated/sec

Average number rehydrated per second.

Orchestrations resident in memory

Number of orchestration instances currently hosted by the host instance.

Orchestrations scheduled for dehydration

Number of dehydratable orchestrations for which there is a dehydration request pending.

Orchestrations suspended

Number of orchestration instances suspended since the host instance started.

Orchestrations suspended/sec

Average number suspended per second.

Pending messages

Number of received messages for which receipt has not yet been acknowledged to the message box.

Pending work items

Number of code execution blocks that are scheduled for execution.

Persistence points

Number of times an orchestration instance has persisted its state to the database since the host instance started.

Persistence points/sec

Average number of orchestration instances persisted per second.

Runnable orchestrations

Number of orchestration instances ready to execute.

Running orchestrations

Number of orchestration instances currently executing.

Transactional scopes aborted

Number of long-running or atomic scopes that have been aborted since the host instance started.

Transactional scopes aborted/sec

Average number aborted per second.

Transactional scopes committed

Number of long-running or atomic scopes that have successfully completed since the host instance started.

Transactional scopes committed/sec

Average number committed per second.

Transactional scopes compensated

Number of long-running or atomic scopes that have successfully completed compensation scopes since the application started.

Transactional scopes compensated/sec

Average number compensated per second.

Host Throttling Performance Counters

Active instance count

Number of service instances active in memory. For the orchestration engine, a service instance refers to each running instance of an orchestration schedule. For the End Point Manager, a service instance may either correspond to a single stateless message, or to a collection of stateful messages.

Database session

Number of concurrent MessageBox database connections being used.

Database session threshold

The current threshold for concurrent database sessions. This is initially set to the Database connections value on the Resource-Based Throttling tab in Settings Dashboard. This value is auto-tuned based on the database session usage of the process. If the number of concurrent database sessions exceeds this threshold at any time, host throttling is implemented.

Database size

Number of messages in the database queues that this process has published. This value is measured by the number of items in the queue tables for all hosts and the number of items in the spool and tracking tables. If a process is publishing to multiple queues, this counter reflects the weighted average of all the queues.

High database session

  • 0: Normal
  • 1: Database session count exceeds threshold

High database size

  • 0: Normal
  • 1: Database size has grown beyond threshold

High in-process message count

  • 0: Normal
  • 1: In-process message count exceeds limit

High message delivery rate

  • 0: Normal
  • 1: Message delivery rate exceeds the message processing Rate

High message publishing rate

  • 0: Normal
  • 1: Publishing request rate exceeds completion rate

High process memory

  • 0: Normal
  • 1: Process memory exceeds threshold

High system memory

  • 0: Normal
  • 1: System memory exceeds threshold

  • 0: Normal
  • 1: Thread count exceeds threshold

In-process message count

Number of in-memory messages delivered to the XLANG engine or the outbound messaging engine that are not yet processed.

In-process message count threshold

The current threshold for in-process message count.

Message delivery delay (ms)

The current delay in ms imposed on each message delivery batch (applicable if the message delivery is being throttled).

Message delivery incoming rate

Number of messages per second that are being delivered to the Orchestration engine or the Messaging engine in the given sample interval.

Message delivery outgoing rate

Number of messages per second that are being processed by the Orchestration engine or the Messaging engine in the given sample interval.

Message delivery throttling state

  • 0: Not throttling
  • 1: Throttling due to imbalanced message delivery rate (input rate exceeds output rate)
  • 3: Throttling due to high in-process message count
  • 4: Throttling due to process memory pressure
  • 5: Throttling due to system memory pressure
  • 9: Throttling due to high thread count
  • 10: Throttling due to user override on delivery

Message delivery throttling state duration

Seconds since the system entered this state. If the host is throttling, how long it has been throttling; if it is not throttling, how long since throttling was applied.

Message delivery throttling user override

  • 0: No override
  • 1: Always throttle message delivery
  • 2: Do not throttle message delivery

Message publishing delay (ms)

The current delay in ms imposed on each message publishing batch (applicable if the message publishing is being throttled and if the batch is not exempted from throttling).

Message publishing incoming rate

Number of messages per second that are being sent to the database for publishing in the given sample interval.

Message publishing outgoing rate

Number of messages per second that are actually published in the database in the given sample interval.

Message publishing throttling state

  • 0: Not throttling
  • 2: Throttling due to imbalanced message publishing rate (input rate exceeds output rate)
  • 4: Throttling due to process memory pressure
  • 5: Throttling due to system memory pressure
  • 6: Throttling due to database growth
  • 8: Throttling due to high session count
  • 9: Throttling due to high thread count
  • 11: Throttling due to user override on publishing

Message publishing throttling state duration

Seconds since the system entered this state. If the host is throttling, how long it has been throttling; if it is not throttling, how long since throttling was applied.

Message publishing throttling user override

This counter reflects the user override that is monitored by the engine and interpreted as follows:

  • 0: No override
  • 1: Always throttle message publishing
  • 2: Do not throttle message publishing

Physical memory usage (MB)

The amount of physical memory in MB being used on the machine by all processes.

Process memory usage (MB)

The process memory consumption in MB. This is the maximum of the process’s working set size and the total space allocated for the page file for the process.

Process memory usage threshold (MB)

The current threshold for process memory consumption in MB. This is initially set to the Process virtual value in Settings Dashboard. If a percentage value is specified, it is computed based on the available memory to commit

Service class ID

The decimal value of the initial part of the service class GUID that this performance counter instance corresponds to. A process may host more than one service class and the message agent performance counters show the data for the most active service class.

Thread count

Number of threads being used within the process.

Thread count threshold

The current threshold for the number of threads in the process. This is initially set to the Threads value on the Resource-Based Throttling tab in Settings Dashboard. This value is auto-tuned depending on the thread requirements of the current process. If the number of threads in the process exceeds this threshold value at any point in time, host throttling is implemented.

Total batches committed

Number of database batches that the service class has committed.

Total messages delivered

Number of outbound messages delivered to the Orchestration engine or the End Point Manager (EPM).

Total messages published

Number of messages published.

See Also

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.

Return to Top