Host Throttling Performance Counters
This section describes the performance monitor counters that measure system parameters that impact host throttling. The following performance counters are accessible for each host instance under the BizTalk:Message Agent performance object category:
| Counter | Description |
|---|---|
|
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. Note
Stateful instances are those that maintain certain state information about the messages associated with the instance. Messages belonging to a stateful instance are co-related in some form or the other. For example an MSMQT message stream that maintains information about the sender and the message sequence, or an ordered send port that maintains information about the ordering are considered stateful instances. Most messaging scenarios involve stateless instances where messages are processed completely independent of each other. Each such stateless instance corresponds to a single message within the EPM. |
|
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 value specified for Database connections per CPU on the Throttling Thresholds dialog available from the Advanced page of the Host Properties dialog box. 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. Note
If the host is restarted, statistics held in memory are lost. Since there is some overhead involved, BizTalk Server will resume gathering statistics only when there are at least 100 publishes with 5% of the total publishes within the restarted host process. |
|
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 |
|
|
High thread count |
|
|
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 |
A flag indicating whether the system is throttling message delivery (affecting XLANG message processing and outbound transports).
|
|
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 |
This counter reflects the user override that is monitored by the engine and interpreted as follows:
Note
This override is configured by creating the REG_DWORD registry value ThrottlingDeliveryOverride at the following location in the registry: HKLM\System\CurrentControlSet\Services\BTSSvc$<HostName> |
|
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 |
A flag indicating whether the system is throttling message publishing (affecting XLANG message processing and inbound transports).
|
|
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:
Note
This override is configured by creating the REG_DWORD registry value ThrottlingPublishOverride at the following location in the registry: HKLM\System\CurrentControlSet\Services\BTSSvc$<HostName> |
|
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 value specified for Process memory usage on the Throttling Thresholds dialog available from the Advanced page of the Host Properties dialog box. 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 value specified for Threads per CPU on the Throttling Thresholds dialog available from the Advanced page of the Host Properties dialog box. 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. |
Note |
|---|
| The BizTalk:Message Agent performance counters are provided for the explicit purpose of analyzing the throttling behavior of a host and therefore will not capture data unless the specified host is actively processing documents. This behavior is by design to prevent consuming system threads with performance monitor when throttling activities are not occurring. |
Use the following steps to access the performance counters.
-
On the Desktop, click Start, point to Programs, point to Administrative Tools, and then click Performance.
-
In the Performance dialog box, click Add.
-
In the Add Counters dialog box, from the Performance object drop-down list, select from the available BizTalk:Message Agent performance counters, and then click Add.
-
In the Add Counters dialog box, do one of the following:
Use this To do this All counters
Select this option to select all counters from the provided list.
Select counters from list
Select this option to select specific counters from the provided list.
-
After selecting the counters, click Add and then click Close.
The selected performance counters appear on the Performance screen.
Note