Decreasing Execution Threads for Concurrent webMethods Messaging Triggers
To decrease execution threads for concurrent
webMethods messaging triggers
1. Open the Integration Server Administrator if it is not already open.
2. In the Settings menu of the Navigation panel, click Messaging.
3. Click webMethods Messaging Trigger Management, and then click Edit Global webMethods Messaging Trigger Controls.
4. Under Document Processing, in the Execution Threads Throttle field, select the percentage of the configured maximum execution threads value at which you want to the server to function. Integration Server applies this percentage to the maximum execution threads value for all concurrent webMethods messaging triggers.
5. If you want to apply the Execution Threads Throttle change to all the servers in a cluster, select the Apply Change Across Cluster check box.
This check box appears only if the current
Integration Server belongs to a properly configured cluster and is configured to synchronize trigger changes across the cluster. For more information about configuring an
Integration Server to synchronize trigger management changes across a cluster, see
Cluster Synchronization for
webMethods Messaging
Trigger Management.
6. Click Save Changes.
Notes:
The
Execution Threads Throttle value is maintained across server restarts and package reloads.
Serial triggers always process one document at a time. The
Execution Threads Throttle property does not affect serial triggers.
If the percentage by which you reduce trigger execution threads does not resolve to a whole number,
Integration Server rounds up or rounds down to the nearest whole number. However, if rounding down would set the value to 0,
Integration Server rounds up to 1. For example, if you reduce
Execution Threads Throttle to 10% of maximum, a concurrent trigger with a maximum execution threads value of 12 would have an adjusted value of 1 (
Integration Server rounds 1.2 down to 1). A concurrent trigger with a maximum execution threads value of 4 would have an adjusted value of 1 (
Integration Server rounds 0.4 up to 1).
When you reduce the
Execution Threads Throttle and save your changes,
Integration Server does not terminate threads currently executing concurrent triggers to meet the adjusted maximum.
Integration Server allows server threads processing documents for concurrent triggers to execute to completion.
Integration Server waits until the number of threads executing for a concurrent trigger is less than the adjusted maximum before dispatching another server thread to process a document for that trigger.
If you suspend document processing (trigger execution) and do not suspend document retrieval,
Integration Server will fill all the trigger queues to capacity. Full trigger queues consume more memory than empty trigger queues.
You can also reduce the number of concurrent execution threads for a trigger by reducing the capacity of a trigger queue below the maximum number of concurrent execution threads for the trigger. The maximum number of dispatched threads for a trigger cannot exceed the trigger queue's capacity. For more information about reducing trigger queue capacity, see
Decreasing the Capacity of Trigger
Queues.
If you use the
Execution Threads Throttle as part of your capacity planning process and you determine that the configured values for
Maximum execution threads need to change, you can use the
Integration Server Administrator or
Software AG Designer to set the new maximum execution threads values for each concurrent trigger. For more information about setting trigger properties, see
Modifying
webMethods Messaging
Trigger Properties.