Export (0) Print
Expand All

How to Modify Resource Based Throttling Settings

[Unless specifically noted, the content in this topic applies to BizTalk Server 2013 and 2013 R2.]

Using the Settings Dashboard, you can modify the resource based throttling configuration settings of a given host, across the 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.

To manage the usage of system resources (such as threads, memory, and database size) by a host instance process, BizTalk Server utilizes an adjustable throttling mechanism that governs the flow and processing of messages through a host instance. The BizTalk Server host throttling mechanism helps to ensure that the system operates at an optimal and sustainable level by:

  • Moderating the workload of the host instance.

  • Preventing the resource contention that can lower the overall performance of the host instance process or other system processes.

  • Detecting when the available resources are being underutilized.

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

  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 Resource Based Throttling tab.

  3. Do the following, and then 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.

    -

    -

    -

    Per CPU Settings

    Threads

    Specify the maximum number of threads in the process (per CPU) allowed before the throttling begins.

    [0, Maximum value of type Integer)

    0

    -

    Database connections

    Specify the maximum number of database sessions (per CPU) allowed before throttling begins.

    1 – Maximum value of type Integer

    0

    -

    In-process messages

    Specify the maximum number of messages delivered to the End Point Manager (EPM) or XLANG that have not been processed. This does not include the messages retrieved from database but still waiting for delivery in the in-memory queue.

    1 – Maximum value of type Integer

    1000

    -

    Internal message queue size

    Indicate the size of the in-memory queue. This queue serves as a temporary placeholder for delivering messages.

    Setting a large value for this parameter may improve low-latency scenarios to some extent since more messages will be proactively retrieved from the MessageBox database for processing. Since the messages in this queue consume memory, setting this parameter to a smaller value may be desirable for scenarios involving large messages in order to avoid memory based throttling of the process.

    noteNote
    If you modify this value, the host needs to be restarted for the change to take effect.

    1 – Maximum value of type Integer

    100

    -

    Message count in DB

    Indicate the total number of messages published by the host instance to the work, state, and suspended queues of the subscribing hosts.

    The Message count in DB setting also indirectly defines the threshold for a throttling condition based on the number of messages in the spool table or tracking table. If the number of messages in the spool table or tracking table exceeds 10 times this value then a throttling condition will be triggered.

    1 – Maximum value of type Integer

    50000

    -

    Memory Usage

    Global physical

    Specify (in percent) the maximum system-wide virtual memory usage allowed before throttling begins.

    0: disable

    1% – 100%

    Values > 100% are treated as MBs and can go up to int Max

    0

    -

    Process virtual

    Specify the maximum process memory (in percent) allowed before throttling begins (in percent or megabytes).

    0: disable

    1% – 100%

    Values > 100% are treated as MBs and can go up to int Max

    25

    -

    Spool multiplier

    Indicate the factor by which the Message count in DB threshold is multiplied and then compared against the current record count in the spool table.

    This is done to determine whether the system should throttle on spool table size. If this value is set to 0, spool table size is not used as a consideration for determining a throttling condition.

    0-1000

    10

    Throttling parameters read from registry should be mapped one-to-one to host instance parameters.

    Tracking data multiplier

    Specify the factor by which the Message count in DB threshold is multiplied and then compared against the current record count in the tracking table.

    This is done to determine whether the system should throttle on tracking table size. If this value is set to 0, tracking table size is not used as a consideration for determining a throttling condition.

    0-1000

    10

    Throttling parameters read from registry should be mapped one-to-one to host instance parameters.

    Limit to trigger GC

    Specifies when a .NET garbage collection (GC) is triggered as process memory consumption increases and approaches the threshold. When the memory consumption exceeds this percentage value of the memory threshold, a GC is triggered.

    50-100

    80

    Throttling parameters read from registry should be mapped one-to-one to host instance parameters.

    Batch memory threshold

    Indicate (in percent) the memory threshold beyond which to throttle the publishing of a batch of messages.

    The batch memory threshold is computed by multiplying this percentage factor by the Process virtual threshold. If the memory estimated to execute a publishing batch exceeds the batch memory threshold, the batch is subject to process memory based throttling. Otherwise, the batch is exempted from process memory based throttling even when the total process memory exceeds the Process virtual threshold.

    A value of zero indicates that all publishing batches may be subject to process memory based throttling even if the memory estimated to execute the batch is minimal.

    0%-100%

    Throttling parameters read from registry should be mapped one-to-one to host instance parameters.

    Severity

    Memory

    Indicate the severity of a process memory triggered throttling condition. Specified in percentage value, this parameter sets the severity of a throttling condition caused when the Process virtual threshold is exceeded.

    1 – 1000

    500

    Lowest of all host instance values

    DB size

    Indicate the severity of a database sized triggered throttling condition. Specified in percentage value, this parameter sets the severity of a throttling condition caused when the Message count in DB threshold is exceeded.

    1 – 1000

    1

    Lowest of all host instance values

    Inflight message

    Specify the reaction time of throttling when the value for In-process messages exceeds the threshold. This is specified in percentage value and this parameter sets the severity of a throttling condition caused when the value for In-process messages threshold is exceeded.

    1 – 1000

    75

    Lowest of all host instance values

    noteNote
    To restore the default settings, click Restore Defaults.

© 2014 Microsoft Corporation. All rights reserved.

Community Additions

ADD
Show:
© 2014 Microsoft