Workload from messaging system (MDB)

 

Knowing the maximum sessions on each listener port allows you to work out...

  1. Maximum sessions in session pool for Queue Connection Factories
  2. Maximum connections in connection pool for Queue Connection Factories
  3. Maximum threads on message listener service

The default for maximum sessions is 1 which would in effect make messages be processed in a serial fashion.

If the maximum sessions for a listener port is set to 5, then there can be up to five sessions working in parallel to process messages on the message queue.

Setting maximum sessions to any more than 1 means that the order that messages get processed in cannot be guaranteed.

For example, if you have 3 listener port sessions and each session picks up a message there is a chance that session 2 could finish first, before sessions 1 and 3 have completed. This would mean message 2 is processed before message 1.

Transaction rollback would also cause messages to be processed in a different order. Same scenario, but this time message 2 is rolled back. It is put back on the queue, and so could end up being processed after message 3 has completed. If you have Maximum sessions set to 1, then message 3 won't be processed until message 2 has been successfully processed.

As this setting governs how much simultaneous activity will occur in the appserver it also governs how much of the other resources will be needed. When a listener port session is in use it needs one each of the following:

  1. message listener service thread
  2. QueueSession
  3. QueueConnection

A listener port will use one QueueConnection object regardless of the number of listener port sessions, and that object will remain in use as long as the listener port is started.

A listener port session, once established will hold on to all the resources it needs until it is finished. This means it will be using up a QueueSession and a message listener service thread.

 

Throughput Settings

See Also:

  1. Relationships between JMS components
  2. Choosing optimal configuration settings.
  3. Monitoring JMS performance within Tivoli Performance Viewer.

 Prev | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.

 

Tivoli is a trademark of the IBM Corporation in the United States, other countries, or both.