Author |
Message
|
krishna1228 |
Posted: Tue May 28, 2013 11:53 pm Post subject: Is there any way to read mutiple messages at a single read. |
|
|
Novice
Joined: 28 May 2013 Posts: 18
|
Actually im using a java client to read the messges from MQ. performance of my program is about 1600 msgs\minute Can you all please suggest how to increase the performance of my program(i need 12000 msgs\minute)
Note :
1.All are persistent messages.
2. 4 KB of length
Thanks in advance.... |
|
Back to top |
|
 |
zpat |
Posted: Wed May 29, 2013 12:54 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Do NOT open the queue or connect to the QM for each message.
Tune your log file sizes. Make sure the disks and logs are on separate drives preferably high performance with write caching.
You can use syncpointing and commit every NN messages (e.g. 100).
There are support pacs documenting MQ tuning options.
Once all normal tuning has been done and the API design is not doing anything stupid - you can look at MQ read-ahead.
However I would expect something nearer 10 times your performance as standard. |
|
Back to top |
|
 |
krishna1228 |
Posted: Wed May 29, 2013 1:38 am Post subject: |
|
|
Novice
Joined: 28 May 2013 Posts: 18
|
Q:Do NOT open the queue or connect to the QM for each message.
[b]Ans: connecting to QM and opening the queue and reading the messages till it reaches 2033 and then im closing the queue.[/b]
Tune your log file sizes. Make sure the disks and logs are on separate drives preferably high performance with write caching.
Ans : how can i do this?
You can use syncpointing and commit every NN messages (e.g. 100).
[b]if i give some 100 messages interval , there will be a chance of duplicate messages because there are 10 process running paralally i dont want that...[/b]
There are support pacs documenting MQ tuning options.
[b]Can you please share the link for this?[/b]
Once all normal tuning has been done and the API design is not doing anything stupid - you can look at MQ read-ahead.
However I would expect something nearer 10 times your performance as standard. |
|
Back to top |
|
 |
zpat |
Posted: Wed May 29, 2013 1:56 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Read the infocenter - I am not your personal assistant.
MQ will not present any message twice. Messages which are got but not yet committed are not made available to any other process (unless backed out).
Once (and once only) delivery has been a principle of MQ since the stone age. |
|
Back to top |
|
 |
krishna1228 |
Posted: Wed May 29, 2013 2:01 am Post subject: |
|
|
Novice
Joined: 28 May 2013 Posts: 18
|
apologies if i makes you hurt my intention is not that....
any ways thanks for the information... |
|
Back to top |
|
 |
krishna1228 |
Posted: Wed May 29, 2013 4:45 am Post subject: |
|
|
Novice
Joined: 28 May 2013 Posts: 18
|
Thanks for your help.... I have tried with 100 messages sync point interval.. i got the double performance.... |
|
Back to top |
|
 |
zpat |
Posted: Wed May 29, 2013 5:04 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Try 200, then 300 - see what is optimal. But I would suggest to keep it no higher than 1000.
10,000 is the default limit set by the QM. |
|
Back to top |
|
 |
krishna1228 |
Posted: Wed May 29, 2013 5:08 am Post subject: |
|
|
Novice
Joined: 28 May 2013 Posts: 18
|
I have tried with the 200 and 1000 but there is no difference in performance it is same as 100.... |
|
Back to top |
|
 |
zpat |
Posted: Wed May 29, 2013 5:52 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
This article is a little old but worth a read
http://www.ibm.com/developerworks/websphere/library/techarticles/0712_dunn/0712_dunn.html
If you can run more than one application thread at the same time - this may increase overall throughput.
If your MQ logs are on disks (e.g. a modern SAN) which protect against power loss then using "SingleWrite" instead of the default "TripleWrite" can substantially increase performance.
Increasing the Log Buffer Pages to 2048 will help and is safe to do.
Quote: |
Log:
LogPrimaryFiles=8
LogSecondaryFiles=3
LogFilePages=16384
LogType=CIRCULAR
LogBufferPages=2048
LogPath=/MQHA/XXXXXX/log/XXXXXX/
LogWriteIntegrity=SingleWrite
|
|
|
Back to top |
|
 |
|