How to Modify Rate Based Throttling Settings

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.

Prerequisites

To perform this operation, you must be logged on as a member of the BizTalk Server Administrators group.

To modify the rate based throttling settings of a host

  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 tab, click the Rate Based Throttling tab.

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

See Also

How to Modify Host Settings