BizTalk Services: Throttling

Azure BizTalk Services implements service throttling based on two conditions: memory usage and the number of simultaneous messages processing. This topic lists the throttling thresholds and describes the Runtime behavior when a throttling condition occurs.

Throttling Thresholds

The following table lists the throttling source and thresholds:

Description Low Threshold High Threshold
Memory % of total system memory available/PageFileBytes.

Total available PageFileBytes is approximately 2 times the RAM of the system.

60% 70%
Message Processing Number of messages processing simultaneously 40 * number of cores 100 * number of cores

When a high threshold is reached, Azure BizTalk Services starts to throttle. Throttling stops when the low threshold is reached. For example, your service is using 65% system memory. In this situation, the service does not throttle. Your service starts using 70% system memory. In this situation, the service throttles and continues to throttle until the service uses 60% (low threshold) system memory.

Azure BizTalk Services tracks the throttling status (normal state vs. throttled state) and the throttling duration.

Runtime Behavior

When Azure BizTalk Services enters a throttling state, the following occurs:

  • Throttling is per role instance. For example:
    RoleInstanceA is throttling. RoleInstanceB is not throttling. In this situation, messages in RoleInstanceB are processed as expected. Messages in RoleInstanceA are discarded and fail with the following error:

    Server is busy. Please try again.

  • Any pull sources do not poll or download a message. For example:
    A pipeline pulls messages from an external FTP source. The role instance doing the pull gets into a throttling state. In this situation, the pipeline stops downloading additional messages until the role instance stops throttling.
  • A response is sent to the client so the client can resubmit the message.
  • You must wait until the throttling is resolved. Specifically, you must wait until the low threshold is reached.

Important notes

  • Throttling cannot be disabled.
  • Throttling thresholds cannot be modified.
  • Throttling is implemented system-wide.
  • The Azure SQL Database Server also has built-in throttling.

Additional Azure BizTalk Services topics

See Also