Author |
Message
|
ssanchez |
Posted: Thu Oct 17, 2002 6:42 am Post subject: MQGET Performance |
|
|
 Newbie
Joined: 19 Jun 2002 Posts: 7 Location: Chile
|
Hi!!!...
Does anyone know how to increase the speed of MQGET using MSGID on a local queue with persistant messages? (MQSeries 5.2 on a UNIX platform).
Thanks.
Samuel. _________________ Samuel. |
|
Back to top |
|
 |
bduncan |
Posted: Thu Oct 17, 2002 8:22 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Keep the average depth of the queue as low as possible! The single biggest performance hit you take when matching against MsgId (or any other matching parameter) is the fact that the queue manager starts at the top of the queue and iterates over each message until it finds the right one. Obviously, this linear search becomes more time consuming as the queue depth increases. I've heard other people mention 'queue indexing'. You might want to use the search tool to dig those discussions up. Apparently it can lessen the search time in the same way that a database index speeds up SELECTs... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
nimconsult |
Posted: Thu Oct 17, 2002 10:23 pm Post subject: |
|
|
 Master
Joined: 22 May 2002 Posts: 268 Location: NIMCONSULT - Belgium
|
some suggestions:
- Design your application such as qualifying messages tend to be at the beginning of the queue.
- Keep your messages as small as possible (less I/O)
- Increase the queue buffer size (less I/O)
- Split messages over multiple queues (reduce average queue length)
... _________________ Nicolas Maréchal
Senior Architect - Partner
NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be |
|
Back to top |
|
 |
leongor |
Posted: Sun Oct 20, 2002 1:23 am Post subject: |
|
|
 Master
Joined: 13 May 2002 Posts: 264 Location: Israel
|
I don't think that increasing QueueBufferSize will help here.
It's about non persistent work.
You can increase LogBufferPages for persistent work.
Also you can try LogWriteIntegrity=SingleWrite.
Should help. _________________ Regards.
Leonid.
IBM Certified MQSeries Specialist. |
|
Back to top |
|
 |
nimconsult |
Posted: Sun Oct 20, 2002 11:06 pm Post subject: |
|
|
 Master
Joined: 22 May 2002 Posts: 268 Location: NIMCONSULT - Belgium
|
Increasing the queue buffer size will allow I/O avoidance when MQ scans the queue to retrieve the message by MsgId, so significantly better performance. This is true for both persistent and non-persistent messages.
Log buffer does not increase the speed of retrieving a message by MsgId. It will increase the performance of MQPUT/MQGET under syncpoint of persistent messages. _________________ Nicolas Maréchal
Senior Architect - Partner
NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be |
|
Back to top |
|
 |
|