Hi Swetank,
One key bit of information is, are the messages persistent or non persistent.
If they are persistent, then the data will be written to the log at commit time, and so there is log I/O time involved in the overall end to end time, and so a reduction in through put.
I expect your messages are persistent.
As a test, make them non persistent, and see what improvement you get. If it makes little difference, then logging is not a problem.
If logging is causing a bottleneck, you can try putting multiple messages before you commit - 50 to 100 may be fine ( if the message size is under 100KB). This is what the mover does. Put up to Batchsz messages, and then commit. If there is no more work, then just commit.
If making them non persistent makes little benefit, it might be a network problem. Make sure you have set up the TCP parms for buffer sizes etc. Old systems gave small buffers (256 bytes) these days you can have MB buffers.
You also might try a different program to check out MQ. Loop putting 1,000 messages ( and commit) to MQ, and time it. If this is OK, it maybe the work driving MQ is slow.
If there is work building up before the MQ application, then having multiple application instances can help performance - unless there is message ordering.
regards
Colin
------------------------------
Colin Paice
------------------------------
Original Message:
Sent: Wed December 01, 2021 10:58 AM
From: Swetank Gupta
Subject: IBM MQ Performance
I am working on connecting to IBM MQ server via java JMS client and leveraging Transacted sessions (synchronous send calls) to commit records over a specified batch / interval with application running on "Ubuntu 20.04.1 LTS".I am getting a write performance / speed of 3000(3 kfps) messages per second while trying to send msg to ibm mq dev server.
Our input can give performance numbers of more than 100 kfps but is being limited by the MQ server (9.2). We are expecting a minimum performance of 40 kfps if that is possible in licensed version.
So I have following questions:
1. Could you pls let me know if there is any limitation on performance of Dev server which might not be the case with licensed version of IBM MQ.
2. Is there a way to use Asynchronous send operations with transacted sessions using java jms clients.
------------------------------
Swetank Gupta
------------------------------