(zos)Tune listener ports for workload management on WebSphere Application Server for z/OS
Tune the listener ports to enable effective workload management (WLM) by calculating the optimal value for the Maximum sessions property.
For WebSphere Application Server Version 7 and later, listener ports are stabilized. For more information, read the article on stabilized features. You should plan to migrate the WebSphere MQ message-driven bean deployment configurations from using listener ports to using activation specifications. For more information about how to configure activation specifications for non-ASF mode, see Configure activation specifications for non-ASF mode. However, you should not begin this migration until you are sure the application does not have to work on application servers earlier than WebSphere Application Server Version 7. For example, if we have an application server cluster with some members at Version 6.1 and some at a later version, you should not migrate applications on that cluster to use activation specifications until after you migrate all the application servers in the cluster to the later version.
When there is a backlog of messages on the WebSphere MQ queue for the message-driven bean (MDB), we want some messages to be processed before other messages, based on transaction class.
The workload management (WLM) feature of WAS for z/OS allows messages to be processed in a certain order based on transaction class. Workload management prioritization occurs when message IDs have been placed on the WLM queue. To allow effective WLM prioritization you must therefore make sure that enough message IDs are loaded on to the WLM queue to give the MDB a selection of messages with different transaction classes to choose from. If there are not enough messages on the WLM queue, the MDB takes the first available message on the WLM queue and transaction class is not considered.
To ensure that the WLM queue is loaded sufficiently to allow WLM prioritization, set the Maximum sessions property of the listener port to a value higher than the baseline recommendation of "twice the combined number of worker threads in all the servants for the server ."
- To tune the configuration for WLM we need to determine the following values:
- The average number of servant worker threads processing a given MDB.
- The average number of available servants (some number between the minimum and maximum is started at any given time).
These values can be estimated by using Performance Monitoring Information (PMI), other monitoring tools, or perhaps by a high-level understanding of how the message-driven bean fits into the general application flow of a specific server.
- Set the Maximum sessions property on the listener port to one of the following values:
- Twice the number of worker threads that are available for the maximum number of servants in the scalable server.
- Twice the number of worker threads that are available in all servants.
Too low a setting for Maximum sessions causes idle worker threads. Too high a setting can cause extra messages to build up on the WLM queue, but the extra messages should not be sufficient to overload the WLM queue and cause the server to fail.
Related concepts
(zos) The message-driven bean throttling mechanism on z/OS
(zos) MDB throttle settings for message-driven beans on z/OS
(zos) Connection factory settings for ASF message-driven beans that use WebSphere MQ as the messaging provider on z/OS