Host Separation was concerned about the practice of separating your hosts into their logical role within
the application (send, receive etc) as well as by application. "What next?" I hear you ask... Here's the opportunity to improve your application's performance
by the following tweaks that you can apply onto your hosts:
- 1. Optimise Host Polling Intervals Now you can optimise the polling interval your hosts for messaging or for orchestration based scenarios.
If, for example, you have the need for "important" orchestrations to be executed "faster" (i.e. less time spent in MsgBoxDB),
then you can even decrease the polling interval further (the minimum being 50ms) The following table gives you an indication of values you can set to optimise the intervals.
Host Messaging Interval Orchestration Interval
"Important" Orchestration Host 250000 50
"Normal" Orchestration Host 250000 500
Send Host 50 250000
Tracking Host 500 250000
These setting are found on the Hosts | General tab in the BizTalk Administration console.
2. Disable Host Tracking Host tracking should be disabled as a general rule of thumb. The exception being if you need to track, and that should be in the dedicated tracking host.
This is done by de-selecting the checkbox on the Hosts | General tab in the BizTalk Administration console.
3. Increase Host Instance Threading Values For non-tracking host instances, the default .Net CLR threading values should be increased to improve throughput.
These values are found in the Host Instance | .NET CLR tab within the BizTalk Administration Console.
Threading Setting Suggested Value
Maximum Worker Threads 100
Minimum Worker Threads 25
4. Increase Host Process Virtual Memory Throttling Boundary By default, hosts are set to throttle to conserve system resources
when their virtual memory allocation exceeds 25% of the available memory of the BizTalk application server.
This system default is too low and may cause intermittent processing latency due to BizTalk being in a throttling state.
For each of your hosts (except the Tracking host), increase the value to 75%.
The process virtual memory setting is found on the Host | Resource-Based Throttling tab within the BizTalk Administration Console.
5. Increase Host Message Queue Size and In-Process Message Count For each of your hosts (except the Tracking host), increase the values as shown in the table below.
Setting Suggested Value
Internal Message Queue Size 10000
In Process Messages 10000
These settings can be found on the Hosts | Resource-Based Throttling tab in the BizTalk Administration console.
I hope these tips help bring out that little (or large) extra bit of performance out of your BizTalk application.