BizTalk Server Performance Tips: #5 – Host Optimisation

Hi again! My last post on Host Separation https://johnbilliris.wordpress.com/2014/04/29/biztalk-server-performance-tips-4/ 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. Until next tip… be good!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s