BizTalk Settings Dashboard @ Host-Instance Level

Using the settings Dashboard you can modify the configuration information of a given host-instances, across a BizTalk group. This is further classified in two tabs:

  • Net CLR: Use this to update the number of Windows threads available in the .NET thread pool associated with an instance of a BizTalk host.
  • Orchestration Memory Throttling: Use this to control the Orchestration memory throttling.

Note that at the top of this dialog you can choose which host instance you are currently modifying. Settings you apply across this tab and the Orchestration Memory Throttling tab apply to a particular host instance.

.Net CLR


It is important to allocate enough threads to the .NET thread pool associated with an instance of a BizTalk host to prevent thread starvation. At the same time, care should be taken to prevent allocating more threads to the .NET thread pool associated with a host than is necessary.

The recommended value for CLR threading settings are shown below.


Orchestration Memory Throttling


Above figure shows throttling settings for orchestrations based on memory usage.

It makes sense for these to be per host instance (rather than host) because different instances may have different physical memory usage patterns. When memory use (either physical or virtual) reaches the optimal usage level, dehydration throttling begins in an effort to preserve available memory at the set level.

When memory reaches the maximal usage, dehydration throttling is at its most aggressive (highest severity).


A final topic regarding the Settings Dashboard is the ability to import and export all the settings discussed to a single Extensible Markup Language (XML) file.

Note the Import and Export buttons at the bottom of the dialog. You can use these for backup purposes, or (if the file is edited to account for differences in host/host-instance names) to duplicate settings for another BizTalk group.

Please refer the previous post for the setting @ host level.

Related Links

BizTalk Setting Dashboard @ Host Level – Part 2

In this post I will discuss about the Rate-Based Throttling and Orchestration Throttling. Please refer the previous post for the General Setting and Resource-Based Throttling @ host level.

Rate Based Throttling

Rate-Based Throttling allows you to configure rate-based criteria when the host will go into a throttled mode.


The Publishing portion refers to the rate at which messages are published from this host (to downstream hosts).

The Delivery portion refers to the rate at which messages are delivered to the orchestration or messaging engine (within this host).

This set of controls lets you determine what will be the definition of too great a mismatch between inflow and outflow and what will be the resulting action.

Specifically, Minimum Number of Samples and Sampling Window Duration work together to define how much traffic will be observed to determine real operational rates.

Rate Overdrive Factor refers to the allowable mismatch in the producer/consumer relationship.

Maximum Throttling Delay is the maximum delay BizTalk will impose (at highest severity throttling).

Throttling Override allows you to manually introduce throttling, or disable it altogether. If you manually introduce it, Throttling Override Severity allows you to control the severity level for that case.







Orchestration Throttling


Orchestration Throttling allows for fine-grained control over dehydration/rehydration.

When Dehydration Behaviour is set to Custom, the Maximum Threshold is used to determine the maximum idle time (blocked and waiting for a message) before dehydration, and Minimum Threshold sets the minimum idle time. You can see by default the minimum is 1 second and the maximum is half an hour.

If you check the Subscriptions check box, you are overriding the behaviour of when the MessageBox will decide to pause/resume moving messages to the subscription instance based on the number waiting to be consumed.


Related Links

BizTalk Setting Dashboard @ Host Level – Part 1

In last post I discussed about the Group Level Settings. This post is about Host Level Settings.

Using the settings Dashboard you can modify the configuration information of a given host, across a BizTalk group. This is further classified in four tabs:

  1. General Settings
  2. Resource-Based Throttling: monitors system resources such as threads, memory, and database size and can be applied to any service class.
  3. Rate-Based Throttling: Inbound (Published) & Outbound (Delivered)
  4. Orchestration Throttling: Controls the number of outstanding messages an Orchestration may have. Directly related to BtsNtSvc.exe.config


General Settings


Move Tracking Data to DTA DB

It refers to whether this host will use the tracking database (and tracking tables in the Message Box), and as a consequence, indicates whether this host (and all objects running in it) has read/write permissions to these locations.

If you do not select the check box, the host will have only write access to the tracking tables in the MessageBox database and will not have access to the Tracking database.

Trusted authentication

It refers to whether a particular host is allowed to collect authentication information (via digital signature, Windows authentication, and so on), and subsequently stamp a message with a party ID and a Windows Security ID.

If the host is not configured with Trusted Authentication, the Message Box just overwrites the party ID with the guest ID, and the SSID with that of the host instance’s service account.

32-Bit only

Indicate whether the host instance process should be created as 32-Bit on both 32-Bit and 64-Bit servers.

Basically 32-Bit Only forces 32-bit host instances on 64-bit servers, typically used when you have legacy native components involved (perhaps COM-based.). Also, certain adapters are 32- bit only.

Default app-domain for isolated adapter

Indicate whether the isolated adapter runs in the default app domain, or the domain of the caller.

Legacy whitespace behavior

It allows you to indicate that you want to preserve whitespace when creating maps.

Allow multiple responses

Indicate whether you want to enable multiple responses to be sent back to a 2-way receive location.

Response timeout

It basically indicates the default timeout for request-response messages (such as those originating from a Hypertext Transfer Protocol [HTTP] transport and configured as two way).

Maximum engine threads

Indicate the maximum number of messaging engine threads per CPU.

This option specifies the maximum number of threads that can be used by the End Point Manager (EPM). The EPM starts with the number of threads equivalent to 10% of this value and adds threads up to the specified value as load increases. The number of threads allocated is reduced as load is reduced or as necessary for throttling.

Show performance counters for

It allows you to set whether the Message Agent counters are showing activity for orchestrations or messaging activity.

When set to Messaging, Performance Monitor will display Message Agent counters for messaging. If the host contains orchestrations, no Message Agent output for the orchestration (XLANG) instances will display.

If the host only contains orchestrations, change the Show performance counters for setting to Orchestrations to display Message Agent counters for Orchestration instances. If the host only contains receive ports/send ports, keep the Messaging option to display Message Agent counters for Messaging instances.

Polling Intervals

Polling Intervals allows you to configure how often BizTalk will look for new messages and new orchestration activity. Tuning these parameters can help in low latency scenarios, depending on where overall processing time is spent.

  • Messaging – Set the BizTalk Server polling interval in milliseconds when BizTalk host instance is looking for new messages in the MessageBox.
  • Orchestrations – Set the BizTalk Server polling interval in milliseconds when BizTalk host instance is looking for new orchestrations in the database.


Resource Based Throttling



Per CPU Settings


Memory Usage



The Severity settings refer to what severity will be assigned for memory-triggered, database size-triggered, or in-flight message count-triggered throttling conditions. These values come into play when BizTalk is deciding what type of throttling instruction to issue because this is based on the condition with highest severity.


Please refer the next post for the Rate-Based Throttling and Orchestration Throttling @ host level.

Related Links:



BizTalk Setting Dashboard @ Group Level

Using the Settings Dashboard, you can extensively tweak BizTalk Server settings for performance optimization.

Performance tuning can be done at three different levels:

  •  Group Level: Setting applied to all the machines in the BizTalk Group.
  •  Host-Level: Settings applied to all the instances of the selected host.
  •  Host-Instance Level: Settings applied to only selected host instances.


Settings Dashboard @ Group Level



Configuration refresh interval

It’s the interval in which BizTalk Server refreshes messaging configuration.

It basically refers to how often the messaging configuration (port configurations and such) is reloaded from the database by the BizTalk infrastructure to absorb changes that have been made.

Items involved in the refresh include the MessageBox databases, server properties, adapters, and connections to the Tracking database.


Message Batch Threshold

If the total size of an incoming message Batch exceeds this value, then BizTalk splits the incoming message into smaller batches for processing.


Large message size

Large Message Size refers to the size limit after which disk-backed streaming for batches and transformations will be used.

If the in-memory size of a received message exceeds the number of bytes specified for Large message size then the message is split into fragments of the specified size and the fragments are written into the MessageBox under the context MSDTC transaction.

Tracking and Reporting

Message box performance counter sampling interval

This is the interval at which performance counters are refreshed. It basically helps you trade off pressure on the database (because these counter values are populated by queries) against freshness in the data presented.

Enable group level tracking

This option turns the group level tracking for BizTalk Server on.

It basically allows you to have a master switch for tracking across the entire group (whereas this is normally a fine-grained per-artefact decision).

In the next post I will discuss about the host level settings.

Related Links