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. |
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.
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.
- 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 Management 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