BT Messaging Agents Test
Most of the processing that takes place on a BizTalk server occurs within a logical entity known as a BizTalk Server host instance, which is a process running as a Windows service or an isolated host process on the BizTalk server. To manage the use of resources by a host instance process, BizTalk Server utilizes an adjustable throttling mechanism that governs the flow and processing of messages through a host instance.
The throttling mechanism moderates the workload of the host instance to ensure that the workload does not exceed the capacity of the host instance or any downstream host instances. The throttling mechanism also prevents a condition known as resource contention that can lower the overall performance of the host instance process or other system processes. Resource contention occurs when one or more processes consume a limited resource to the detriment of themselves and/or another process. For example, the consumption of excessive memory or threads can lead to memory allocation failure or high thread context-switches, which can impact the performance of the process. Resource contention like this can be detrimental to the overall performance of BizTalk Server.
The host throttling mechanism also detects when available resources are being underutilized. If available resources are underutilized then the throttling mechanism allows additional messages to be processed by a host instance. The host throttling mechanism continually monitors if available resources are being over or underutilized and adjusts message flow through the host instance accordingly.
The BizTalk Server host throttling mechanism helps to ensure that the system operates at an optimal and sustainable level.
This test measures the efficiency of the host throttling mechanism.
Target of the test : A BizTalk Server 2010
Agent deploying the test : An internal agent
Outputs of the test : One set of results for each host instance on the BizTalk server being monitored
Parameters | Description |
---|---|
Test period |
This indicates how often should the test be executed. |
Host |
The host for which this test is to be configured. |
Port |
The port at which the host listens to. |
Ispassive |
If this parameter is set to Yes, then it means that, by default, all BizTalk servers being monitored by the eG system are the passive servers of a BizTalk cluster. No alerts will be generated if the servers are not running. Measures will be reported as "Not applicable" by the agent if the servers are not up. |
Measurement | Description | Measurement Unit | Interpretation | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Publishing delay
|
Indicates the current delay imposed on each message publishing batch.
|
MilliSec
|
This measure is applicable only if the message publishing is throttled and if the message publishing batch is not exempted from throttling. Message publishing throttling in BizTalk Server, is applied to host instances that contain receive adapters or orchestrations that publish messages to the MessageBox database. An inbound host throttling condition can be triggered under the following conditions:
Depending on the severity of the throttling condition, the following actions are taken:
|
||||||||||||||||||
Publishing incoming rate |
Indicates the rate at which the messages are being sent by the message agent to the database of this host instance for publishing. |
Msgs/Sec |
A message publishing throttling condition is also triggered when the Message publishing incoming rate for the host instance exceeds the Message publishing outgoing rate * the specified Rate overdrive factor (percent) value. The Rate overdrive factor (percent) value is defined on the Message Publishing Throttling Settings dialog box available from the Advanced page of the Host Properties dialog box. |
||||||||||||||||||
Publishing outgoing rate |
Indicates the rate at which the messages are actually published by the message agent in the database of this host instance. |
Msgs/Sec |
|||||||||||||||||||
Publishing throttling state |
Indicates whether the system is throttling the message publishing i.e., indicates whether the XLANG message processing and inbound transports are affected. |
Number |
This measure indicates any one of the following values while indicating whether the system is throttling the message publishing or not.
|
||||||||||||||||||
Delivery delay
|
Indicates the current delay imposed on each message delivery batch. |
MilliSec
|
This measure is applicable only if message delivery is throttled. Message processing throttling in BizTalk Server, is applied to host instances that contain orchestrations or send adapters that receive and deliver or process messages that have been published to the MessageBox. An outbound host throttling condition can be triggered under the following conditions:
Depending upon the severity of the throttling condition, the following actions are taken:
|
||||||||||||||||||
Delivery incoming rate |
Indicates the rate at which the messages are delivered to the Orchestration engine or the Messaging engine of this host instance. |
Msgs/Sec |
A message processing throttling condition can also be triggered if the message Delivery incoming rate for the host instance exceeds the message Delivery outgoing rate * the specified Rate overdrive factor (percent) value. The Rate overdrive factor (percent) value is defined on the Message Processing Throttling Settings dialog box available from the Advanced page of the Host Properties dialog box. |
||||||||||||||||||
Delivery outgoing rate |
Indicates the rate at which the messages are processed and sent to the recipients by the Orchestration engine or the Messaging engine of this host instance. |
Msgs/Sec |
|||||||||||||||||||
Delivery throttling state |
Indicates whether the system is throttling the message delivery i.e., indicates whether the XLANG message processing and outbound transports are affected or not. |
Number |
Indicates whether the system is throttling the message delivery i.e., indicates whether the XLANG message processing and outbound transports are affected or not.
|
||||||||||||||||||
High database session |
Indicates whether the database session is within normal limits or not for this host instance.
|
Number |
This measure reports any one of the following values to indicate whether the database session is within normal limits or not.
The database session count is nothing but the number of concurrent MessageBox database connections being used. The threshold for database session count 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. |
||||||||||||||||||
High database size |
Indicates whether the size of the database is within normal limits or not for this host instance. |
Number |
This measure indicates any one of the following values while indicating whether the size of the database is within normal limits or not.
Database size is represented by the number of messages in the database queues that a host instance 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. If the threshold set for database size is violated, then throttling is implemented. |
||||||||||||||||||
High in-process message count |
Indicates whether the In-process message count is within normal limits or not. |
Number |
This measure reports any one of the following values to indicate whether the In-process message count is within normal limits or not.
The in-process message count indicates the number of in-memory messages delivered to the XLANG engine or the outbound messaging engine that are not yet processed. |
||||||||||||||||||
High message delivery rate |
Indicates whether the message delivery rate is within normal limits or not. |
Number |
This measure reports any one of the following values to indicate whether the message delivery rate is within normal limits or not.
|
||||||||||||||||||
High message publishing rate |
Indicates whether the message publishing rate is within normal limits or not. |
Number |
This measure reports any one of the following values to indicate whether the message publishing rate is within normal limits or not.
|
||||||||||||||||||
High process memory |
Indicates whether the process memory is within normal limits or not. |
Number |
This measure reports any one of the following values to indicate whether the process memory is within normal limits or not.
Process memory consumption is the maximum of the process’s working set size and the total space allocated for the page file for the process. The threshold for process memory consumption s 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. |
||||||||||||||||||
High system memory |
Indicates whether the system memory is within normal limits or not. |
Number |
This measure reports any one of the following values to indicate whether the system memory is within normal limits or not.
|
||||||||||||||||||
High thread count |
Indicates whether the thread count is within normal limits or not for this host instance. |
Number |
This measure reports any one of the following values to indicate whether the thread count is within normal limits or not.
The thread count indicates the number of threads being used in the process. The threshold for this count 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. |
||||||||||||||||||
Thread count |
Indicates the number of thread being used in the process. |
Number |
|
||||||||||||||||||
Thread count threshold |
Indicates the current threshold for the number of threads in the process. |
Number |
The threshold for the thread count 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. |
||||||||||||||||||
Database size |
Indicates the number of messages in the database queues that this process has published.
|
Number |
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. |
||||||||||||||||||
Database session |
Indicates the number of concurrent message box database connections that is being used. |
Number |
|
||||||||||||||||||
Process memory usage |
Indicates the memory consumption of the process. |
MB |
|
||||||||||||||||||
Process memory usage threshold |
Indicates the current threshold for the memory consumption of the process. |
MB |
This threshold value is initially set to the value specified for the process memory consumption on the Throttling Thresholds dialog available from the Advanced page of the Host Properties dialog box. If a percentage value is specified, the threshold value is computed based on the available memory to commit. |