Training
Module
Protect your APIs on Azure API Management - Training
Protect your backend APIs from information exposure and implement throttling (rate limiting) to prevent resource exhaustion with policies in Azure API Management.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Rate based throttling in BizTalk Server is applied to host instances that contain orchestrations or send adapters that receive and deliver or process messages that have been published to the MessageBox. Using the BizTalk Settings Dashboard, you can modify the rate based throttling configuration settings of a given host, across a BizTalk group. These settings apply to all host instances assigned to the given host. This topic provides the step-by-step procedure to modify these settings.
The rate based throttling condition can be triggered under the following conditions:
The amount of memory, the number of threads, or the number of database connections used by the host instance exceeds the throttling thresholds.
The message delivery incoming rate for the host instance exceeds the message delivery outgoing rate * the specified rate overdrive factor (percent) value.
The number of messages being processed concurrently by the host instance exceeds the in-process messages per CPU * the number of CPUs available on the box.
To perform this operation, you must be logged on as a member of the BizTalk Server Administrators group.
In the BizTalk Server Administration Console, expand BizTalk Server Administration, right-click BizTalk Group, and then click Settings.
In the BizTalk Settings Dashboard dialog box, on the Hosts tab, click the Rate Based Throttling tab.
Do the following and click Apply to apply the modifications and proceed to another tab. Else, click OK to apply the modifications and exit the Settings Dashboard.
Use this | To do this | Boundary values | Default value | Upgrade logic |
---|---|---|---|---|
Host | From the drop-down list, select the host representing the BizTalk Server runtime instances. | - | - | - |
Publishing
Use this | To do this | Boundary values | Default value | Upgrade logic |
---|---|---|---|---|
Minimum number of samples | Specify the minimum number of messages BizTalk Server will sample for the Sampling window duration before considering rate-based throttling. If the actual number of samples in a sampling window fall below this value, then the samples are discarded and throttling is not applied. This value should be consistent with a rate at which messages can be published under a medium load. For example, if your system is expected to handle 1,000 documents per second under a medium load, then this parameter should be set to 1,000 * Sample window duration in seconds (or more precisely, 1 * Sampling window duration (seconds)). If the value is set too low, then the system may experience a throttling condition under low load. If the value is set too high, then there may not be enough samples for this technique to be effective. |
1 – Maximum value of type Integer | 100 | - |
Sampling window duration | Specify the time-window (measured in seconds), which is used to calculate the publishing rate based on the samples collected. The duration should be increased if the latency required for publishing a single message is high. | 1 – Maximum value of type Integer | 15000 | - |
Rate overdrive factor | Specify the percent to control how much higher you allow the request rate to be than the completion rate before a throttling condition occurs. For example, if messages are being published at a rate of 200 per second and this parameter is set to 125, then the system allows the publication of up to 250 messages per second (125% * 200 = 250) before applying throttling. Specifying too small a value for this parameter can cause the system to throttle more aggressively and could lead to over-throttling. Specifying too large a value for this parameter can cause under throttling and prevent the throttling mechanism from recognizing a legitimate throttling condition. |
1 – Maximum value of type Integer | 125 | - |
Maximum throttling delay | Specify the maximum delay (in milliseconds) BizTalk Server imposes on a message instance due to throttling. The actual delay depends on the severity of the throttling condition. | 1 – Maximum value of type Integer | 300000 | - |
Throttling override | Specify if you want to override message publishing throttling. | 0: Do not override 1: Initiate throttling condition 2: Do not throttle |
0 | Throttling parameters read from registry should be mapped one-to-one to host instance parameters. |
Throttling override severity | Specify the severity of an inbound throttling condition. A higher value increases the severity of an inbound throttling condition initiated when Throttling override is set to 1. |
1 – 1000 | 100 | Lowest of all host instance values. |
Delivery
Use this | To do this | Boundary values | Default value | Upgrade logic |
---|---|---|---|---|
Minimum number of samples | Specify the minimum number of messages BizTalk will sample for the Sampling window duration before considering rate-based throttling. If the actual number of samples in a sampling window falls below this value, then the samples are discarded and throttling is not applied. This value should be consistent with a rate at which messages can be delivered under a medium load. For example, if your system is expected to handle 1,000 documents per second under a medium load, then this parameter should be set to 1,000 * Sample window duration in seconds (or more precisely, 1 * Sample window duration (seconds) for this scenario). If the value is set too low, then the system may experience a throttling condition under low load. If the value is set too high, then there may not be enough samples for this technique to be effective. |
1 – Maximum value of type Integer | 100 | - |
Sampling window duration | Specify the time-window (in seconds), which is used to calculate the processing rate based on the samples collected. The duration should be increased if the latency required for processing a single message is high. | 1 – Maximum value of type Integer | 15000 | - |
Rate overdrive factor | Specify the percent to control how much higher you allow the delivery rate to the Orchestration or Messaging engine to be than the completion rate before a throttling condition occurs. For example, if messages are being processed at a rate of 200 per second and this parameter is set to 125, then the system allows the processing of up to 250 messages per second (125% * 200 = 250) before applying throttling. Specifying too small a value for this parameter causes the system to throttle more aggressively and could lead to over throttling. Specifying too large a value for this parameter causes under throttling and prevent the throttling mechanism from recognizing a legitimate throttling condition. |
1 – Maximum value of type Integer | 125 | - |
Maximum throttling delay | Specify the maximum delay BizTalk Server imposes on a message instance due to throttling. The actual delay depends on the severity of the throttling condition. | 1 – Maximum value of type Integer | 300000 | - |
Throttling override | Specify if you want to override message delivery throttling. | 0: Do not override 1: Initiate throttling condition 2: Do not throttle |
0 | Throttling parameters read from registry should be mapped one-to-one to host instance parameters. |
Throttling override severity | Specify the severity of the outbound throttling condition. A higher value increases the severity of an outbound throttling condition initiated when Throttling override is set to 1. |
1 – 1000 | 100 | Lowest of all host instance values. |
Note
To restore the default settings, click Restore Defaults.
Training
Module
Protect your APIs on Azure API Management - Training
Protect your backend APIs from information exposure and implement throttling (rate limiting) to prevent resource exhaustion with policies in Azure API Management.
Documentation
How to Modify Resource Based Throttling Settings - BizTalk Server
Learn more about: How to Modify Resource Based Throttling Settings
How to Modify Orchestration Throttling Settings - BizTalk Server
Learn more about: How to Modify Orchestration Throttling Settings
How to Modify Host Settings - BizTalk Server
Change BizTalk host settings in BizTalk Server Administration to improve performance and throttling