
mqperfck (MQ performance check)
Use the mqperfck command to help understand the performance of your queue manager.
Purpose
The command can be used to gather information about the CPU and Log resources being used by a queue manager, and the activity on local queues and sender channels. Run this command when the work being processed by your queue is low, and when it is high, to compare the impact of different workloads on the queue manager.
The command produces an HTML report summarizing the workload, which is written to the mqdiag: directory on the appliance.
View the report in a web browser.
Syntax
Required parameters
None.
Optional parameters
- -h or -?
- Display usage help text and exit.
- -m QmgrName
- The name of queue manager to connect to. If this is not specified, the command will attempt to connect to the default queue manager.
- -q QueueName
- The name of a local queue to analyze. You can analyze up to 10 queues by repeating this parameter. The queue must exist, it must be a local queue, and the user running the tool must have permission to open the queue for inquire.
- -s SenderChannel
- The name of a sender channel to analyze. You can analyze up to 10 channels by repeating this parameter. The channel must exist, it must have attribute CHLTYPE(SDR), and the MONCHL attribute of the channel must be set to either LOW, MEDIUM, or HIGH. If the channel’s MONCHL attribute is MQMON_Q_MGR, then the MONCHL attribute of the queue manager must be LOW, MEDIUM, or HIGH.
- -n Iterations
- The number of sampling iterations to perform. The default is 6. A new iteration begins when the queue manager publishes a set of resource statistics which typically happens every 10 seconds.
- -u User
- The user id to be used to authenticate the connection to the queue manager. If this parameter is specified, the command will prompt for a password. The password will not be displayed on the screen.
- -N
- Suppresses translation of the report.
Granting permissions to run the command
To subscribe to the system statistics, the command must be run by a member of the mqm group or a user who has permissions to topics in the $SYS/MQ branch of the topic tree. For more information, see System topics for monitoring and activity trace.
In addition, the command needs the following permissions to run:
Object name | Object type | Permissions |
---|---|---|
QmgrName | qmgr | +connect +inq +dsp |
SYSTEM.DEFAULT.MODEL.QUEUE | queue | +get +dsp |
SYSTEM.ADMIN.COMMAND.QUEUE | queue | +put |
SYSTEM.ADMIN.TOPIC | topic | +sub |
Object name | Object type | Permissions |
---|---|---|
QueueName | Queue | +inq |
For each channel named on command line add the following permissions:
Object name | Object type | Permissions |
---|---|---|
ChannelName | Channel | +dsp |
Examples
[mqm@mq-host ~]$ mqperfck
Connected to queue manager DFT.QMGR.
Creating file: mqperfcheck_DFT.QMGR_2024-12-20_132743-0.html
Waiting for messages.
Processing iteration 1 of 6.
Processing iteration 2 of 6.
Processing iteration 3 of 6.
Processing iteration 4 of 6.
Processing iteration 5 of 6.
Processing iteration 6 of 6.
Writing report summary.
mqa(mqcli)# mqperfck -m SENDER.QM -q TESTQ -s TO.RECEIVER.QM -n 3
Connected to queue manager SENDER.QM.
Creating file: mqperfcheck_SENDER.QM_2024-12-20_133202-0.html
Waiting for messages.
Processing iteration 1 of 3.
Processing iteration 2 of 3.
Processing iteration 3 of 3.