IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning > Tuning for maximum concurrency

Tune MDB ActivationSpec properties

Two custom properties in the MDB ActivationSpec have considerable performance implications: maxConcurrency and maxBatchSize.

For each JMS export component there is an MDB and its corresponding ActivationSpec (JNDI name: module name/export component name_AS). The maximum concurrent endpoints parameter specifies the number of messages a particular MDB can process concurrently, but be aware that each active MDB instance runs on a thread from the container thread pool. The default value for the JMS export MDB is 10, which means that up to 10 BOs from the JMS queue can be delivered to the MDB threads concurrently. Change it to 100 if a concurrency of 100 is required.

If that the Tivoli Performance Viewer (TPV) can be used to monitor the maxConcurrency parameter. For each message being processed by an MDB, there will be a message on the queue marked as being locked inside a transaction (which will be removed when the onMessage completes). These messages are classed as "unavailable". There is a PMI metric called UnavailableMessageCount, which gives you the number of unavailable messages on each queue point ( resource_name > SIB Service > SIB Messaging Engines > bus_name > Destinations > Queues). If any queue has at least maxConcurrency unavailable messages, it implies that the number of messages on the queue is currently running higher than the maximum concurrency of the MDB. If this occurs, increase the maxConcurrency setting for that MDB.

The maximum batch size in the activation specification also has an impact on performance. The default value is 1. The maximum batch size value determines how many messages are taken from the messaging layer and delivered to the application layer in a single step. (This does not mean that this work is done within a single transaction, and therefore this setting does not influence transactional scope.) Increasing this value for activation specifications associated with long-running business processes can improve the efficiency of MDB message processing.

There are a few shortcuts for accessing and configuring the MDB ActivationSpec tuning parameters in the administrative console:

The Performance tuning for Java™ Messaging Service on WebSphere Application Server on z/OS article discusses the tuning of JMS activation specification parameters in more detail.

Tuning for maximum concurrency


Related concepts:
MDB ActivationSpec