Tuning messaging destinations for the WebSphere MQ messaging provider
We can optimize performance of message-driven bean (MDB) or other applications that use the WebSphere MQ messaging provider by configuring the properties of WebSphere MQ messaging provider destinations.
To optimize performance, configure queue and topic destination properties in WebSphere Application Server and WebSphere MQ to best fit the applications.
- To optimize performance for WebSphere MQ queues, configure the queue destination properties to best fit the message-driven bean (MDB) or other applications that use the queue destinations. For example:
- When MDB applications are configured to queues on WebSphere MQ for z/OS , INDEX by MSGID, where the queue manager maintains an index of message identifiers, is very important. For further information, see "Type of index" in the Develop Applications section of the WebSphere MQ information center.
- Set the Expiry property to SPECIFIED and the Specified Expiry property to 30000 milliseconds for the expiry timeout for the WebSphere MQ messaging provider queue in WebSphere Application Server reduces the number of messages that can be queued.
- To ensure that there are enough underlying WebSphere MQ resources available for the queue, ensure configured the queue destination properties in WebSphere Application Server adequately for use by the message-driven beans or other applications that use the queue.
- Consider the queue attributes associated with the queue name created with WebSphere MQ. Inappropriate queue attributes can reduce the performance of WebSphere operations. We can use WebSphere MQ commands to change queue attributes for the queue name:
- BOQNAME
- The excessive backout requeue name. This attribute can be set to a local queue name that can hold the messages that were rolled back by the WebSphere applications. This queue name can be a system dead letter queue.
- BOTHRESH
- The backout threshold and can be set to a number when the threshold is reached, the message is moved to the queue name specified in BOQNAME.
- INDXTYPE
- Set this attribute to MSGID to cause an index of message identifiers to be maintained, which can improve WebSphere MQ retrieval of messages.
- DEFSOPT
- Set this attribute to SHARED (for shared input from the queue).
- SHARE
- This attribute must be specified (so that multiple applications can get messages from this queue).
For more information about using these properties, see the Script (MQSC) Command Reference section of the WebSphere MQ information center. For more information specifically about BOQNAME and BOTHRESH, see "Handling poison messages" in the Use Java section of the WebSphere MQ information center.
- To optimize performance for WebSphere MQ topics, configure the topic destination properties to best fit the applications. For example:
- To reduce the number of messages that can be queued, set the Expiry property to SPECIFIED and the Specified Expiry property to 30000 milliseconds for the expiry timeout for the WebSphere MQ queue in WebSphere Application Server.
- To ensure that there are enough underlying WebSphere MQ resources available for the queue, ensure configured the queue destination properties adequately for the application usage:
- Ensure that the queue attribute, INDXTYPE is set to MSGID for the following system queues:
- SYSTEM.JMS.ND.CC.SUBSCRIBER.QUEUE
- SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE
- Ensure that the queue attribute, INDXTYPE is set to CORRELID for the following system queues:
- SYSTEM.JMS.ND.SUBSCRIBER.QUEUE
- SYSTEM.JMS.D.SUBSCRIBER.QUEUE
For more information about using these properties, see the Using Java and Script (MQSC) sections in the WebSphere MQ information center.
Related tasks
Configure a queue for the WebSphere MQ messaging provider Configure a topic for the WebSphere MQ messaging provider
WebSphere MQ messaging provider queue and topic advanced properties settings