Low-Latency Scenario Optimizations

By default, BizTalk Server is optimized for throughput rather than low-latency. The following optimizations can be applied to BizTalk Server in scenarios where reduced latency is required.

Note

These optimizations will improve latency, but may do so at some cost to overall throughput.

Increase the BizTalk Server host internal message queue size

Each BizTalk host has its own internal in-memory queue. Increase the size of this queue from the default value of 100 to 10000 to improve performance for a low-latency scenario. For more information about modifying the value of the internal message queue size, see How to Modify Resource Based Throttling Settings (https://go.microsoft.com/fwlink/?LinkID=208366) in the BizTalk Server documentation.

Note

Increasing the internal message queue size value will increase the memory used by the host instance.

Increase the BizTalk Server host in-process messages

Increase the in-process messages from the default value of 1000 to 10,000 to improve performance. For more information about modifying the value of the in-process messages, see How to Modify the Default Host Throttling Settings (https://go.microsoft.com/fwlink/?LinkID=208366) in the BizTalk Server documentation.

Note

Increasing the internal message queue size value will increase the memory used by the host instance.

Optimize orchestrations for low latency

Follow the recommendations in the “Recommendations for optimizing orchestrations for low latency scenarios” section of Optimizing Orchestration Performance.

Configure polling intervals

Use the Settings Dashboard to configure the polling intervals of a given host, across the BizTalk Group. To change Polling Intervals:

  1. In the BizTalk Server Administration Console, expand BizTalk Server Administration, right-click BizTalk Group, and then click Settings.

  2. In the BizTalk Settings Dashboard dialog box, on the Hosts page, on the General tab, under Polling Intervals, you will find the Messaging and Orchestration values. By default, both these values are set to 500 milliseconds.

The following table lists the polling values that we used for testing on the BizTalk in-process 64-bit Hosts (RxHost, TxHost and PxHost). To disable polling, you can set the polling interval to a very big number as listed in the table.

Server Hosts Messaging Orchestration
RxHost

Because we are only publishing incoming messages to the BizTalk message box through a one-way receive location, polling is not required on the RxHost (receive host).
200000 200000
TxHost

Because we are only receiving messaging instances from the BizTalk message box, orchestration polling is not required on the TxHost (send host).
50 200000
PxHost

Because we are only receiving orchestration instances from the BizTalk message box, messaging polling is not required on the PxHost (Processing host).
200000 50

See Also