Tune messaging destinations for the IBM MQ messaging provider
We can optimize performance of message-driven bean (MDB) or other applications that use the IBM MQ messaging provider by configuring the properties of IBM MQ messaging provider destinations.
To optimize performance, configure queue(ZOS) and topic destination properties in WebSphere Application Server and IBM MQ to best fit the applications.
Tasks
- To optimize performance for IBM 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 IBM 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 IBM MQ information center.
- Setting the Expiry property to SPECIFIED and the Specified Expiry property to 30000 milliseconds for the expiry timeout for the IBM MQ messaging provider queue in WAS reduces the number of messages that can be queued.
- To ensure that there are enough underlying IBM MQ resources available for the queue, ensure that we configure the queue destination properties in WAS adequately for use by your message-driven beans or other applications that use the queue.
- Consider the queue attributes associated with the queue name we created with IBM MQ. Inappropriate queue attributes can reduce the performance of WebSphere operations. Use IBM 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 IBM 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
- Script (MQSC) Commands, IBM MQ v7.1
- Script (MQSC) Commands, IBM MQ v7.5
- Script (MQSC) Commands, IBM MQ v8.0
For more information about BOQNAME and BOTHRESH, see
- Handling poison messages in IBM MQ classes for JMS, IBM MQ v7.1
- Handling poison messages in IBM MQ classes for JMS, IBM MQ v7.5
- Handling poison messages in IBM MQ classes for JMS, IBM MQ v8.0
- To optimize performance for IBM 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 IBM MQ queue in WAS.
- To ensure that there are enough underlying IBM MQ resources available for the queue, ensure that we configure 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 Use Java and Script (MQSC) sections in the IBM MQ information center.
Configure a queue for the IBM MQ messaging provider Configure a topic for the IBM MQ messaging provider
IBM MQ messaging provider queue and topic advanced properties settings