Why does WRKMQMQ take a long time to process when attempting to obtain a list of queues?
When the WRKMQMQ takes a long time to display, initially, this is usually indicative of a large number of messages on the queue that must be loaded into memory. When a queue is first touched, the initial operation on that queue requires it to be loaded into memory. This load operation can take some time depending on the number of messages on the queue, their size, and how many queues in the list that fit this scenario. In addition, once enduser applications are started, their tasks may compete with the WRKMQMQ activity adding to delay.
NOTE: The load operation is performed by the Agent process (AMQAZLAA0) which may temporarily cause this job to reflect high CPU usage due to this activity.
WebSphere MQ queues are not intended to be long term repositories for message data. WebSphere MQ is most efficient when messages are retrieved from the queues as quickly as possible. If it is common practice to leave large numbers of messages (tens of thousands to hundreds of thousands) on the queues prior to quiescing the queue manager then the behavior described above is expected and may result in high CPU usage and large numbers of Resource Busy FDC's (AMQ6150) in WebSphere MQ.