IBM Support

Intermittent slow performance for message-driven beans

Troubleshooting


Problem

When using a message-driven bean (MDB) to get messages from a IBM WebSphere MQ, some messages take significantly longer to be removed from the queue and processed by the MDB. This technote does not apply to the Default Messaging Provider and applies for those using below MQ version 7.

Cause

The WebSphere Application Server message listener service is instrumented so that the thread browsing the queue for messages skips a message if all message consumers (MDBs) are busy or if the message has not yet been committed to the queue. It returns to the skipped messages when it re-scans the queue. The problem is that by default, the thread waits 5000 milliseconds before re-scanning the queue.

Resolving The Problem

Change the eoqTimeout value to 0. With this set, the thread will not wait before rescanning the queue and processing the messages.

Follow these instructions to set eoqTimeout to 0:

  1. Expand Servers, click on Application Servers, and then select your server in the WebSphere administrative console.

  2. Select Process Definition.

  3. Select Java™ Virtual Machine.

  4. Select Custom Properties, and then click New.

  5. Add the property com.ibm.mq.jms.tuning.eoqTimeout with a value of 0. The value of the eoqTimeout is in milliseconds. If it is set to a value other than 0, the minimum value is 1000 milliseconds.

  6. Click OK and save your configuration.

  7. Restart the application server.


If consistently slower MDB performance is observed as the number of messages sent to the queue increases, increase the Maximum Sessions on the listener port so that more messages are processed concurrently.

Use the solution described in this technote only if the problem is intermittent and independent of load.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Java Message Service (JMS)","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.0;8.5.5;8.0;7.0","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21190601