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 |
|
High database size |
|
High in-process message count |
|
High message delivery rate |
|
High message publishing rate |
|
High process memory |
|
High system memory |
|
|
|
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 |
|
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 |
|
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 |
|
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:
|
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.