Setting the maximum thread pool usage for cloud requests

When an application that is developed on IBM® webMethods Integration starts a service on an on-premises Integration Server, the on-premises Integration Server uses a thread from the server thread pool to process the service request. The processing thread starts the service, posts the response, and then ends, which frees up the thread to process other requests. The on-premises Integration Server can process multiple service requests from IBM webMethods Integration simultaneously.

The watt.server.threadPool.cloudRequests specifies the maximum percentage of the server thread pool that can be used for processing IBM webMethods Integration requests. The default is 5, which means that if the maximum size of the server thread pool is 1000, up to 50 server threads at a time can be used to process cloud requests. If the watt.server.threadPool.cloudRequests value is either undefined or configured to generate fewer than 25 threads, Integration Server automatically adjusts the thread count to a minimum of 25 to handle IBM webMethods Integration requests effectively.

At start, Integration Server uses the specified percentage to calculate the number of threads that can be used and logs a message with that information to the server.log. At run time, when Integration Server reaches the maximum number of threads that can be used to process requests from IBM webMethods Integration, Integration Server writes the following message and blocks new server requests from IBM webMethods Integration until a thread becomes available: The server thread pool is using the maximum number of threads that are allowed for processing requests from webMethods Cloud. Requests from webMethods Cloud block until a thread becomes available.

Concurrent Hybrid Request Handling

To help ensure that an on-premises Integration Server processes an optimal number of hybrid requests based on the available server capacity, Integration Server sets the number of concurrent hybrid requests it can handle to the lesser of the following:

  • The number of threads in the server thread pool that can be used for processing cloud requests is as determined by the watt.server.threadPool.cloudRequests value.

  • 100 requests.

For example, if the watt.server.threadPool.cloudRequests value indicates that 45 threads in the server thread pool can be used for processing cloud requests, the on-premises Integration Server ensures that it handles 45 hybrid requests concurrently, if there are 45 or more hybrid requests that need to be processed.