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.
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.
|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.
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.
- 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
- Installing the Azure BizTalk Services SDK
- Tutorials: Azure BizTalk Services
- How do I Start Using the Azure BizTalk Services SDK
- Azure BizTalk Services
- BizTalk Services: Developer, Basic, Standard and Premium Editions Chart
- BizTalk Services: Provisioning Using Azure classic portal
- BizTalk Services: Provisioning Status Chart
- BizTalk Services: Dashboard, Monitor and Scale tabs
- BizTalk Services: Backup and Restore
- BizTalk Services: Issuer Name and Issuer Key