ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » MQ performance

Post new topic  Reply to topic Goto page Previous  1, 2
 MQ performance « View previous topic :: View next topic » 
Author Message
gbaddeley
PostPosted: Wed Mar 09, 2011 2:09 pm    Post subject: Re: Required Functions Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2538
Location: Melbourne, Australia

edwarm4 wrote:
MB txn ---> DB2 SP ---> MQCONN ---> MQOPEN ---> MQGET using search criteria and wait time of 2 seconds ---> MQCLOSE ---> MQDISCONNECT ---> DB2 SP ---> MB txn


MQCONN and MQOPEN are quite expensive calls to MQ, of the order of a few milliseconds each. It's unlikely you will achieve your performance target.

High performance consumer programs are long running. They will MQCONN and MQOPEN once, and then loop on MQGET with an infinite Wait.
_________________
Glenn
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Mar 09, 2011 2:28 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

Quote:
...of the order of a few milliseconds each

May have been true a decade ago, or currently on UNIX/Windoze hardware.

If the pathlength (number of instructions) to mqconnect remained constant, and mqconnect took a few milliseconds 10 years ago; BUT the MIPS rate doubled, then doubled, then doubled, I'd expect to see a few hundred nano-seconds or microseconds for an mqconnect.

Someone with a zBox, and time-to-spare: please turn on MQ and GTF trace, start an app, observe and report the time from mqconnect call to CC/RC returned after the call.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Mar 10, 2011 12:25 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

You don't have to use an indefinite get wait, using an interval of say 60 seconds and then checking for an application closedown request (not the same as quiescing the QM), before repeating the GET wait is one approach that works well.

If message arrival is bursty then closing the queue after a get wait of 60 secs (with no message) is also efficient because it will keep the queue open when message arrival is frequent but let it close when there is nothing much going on.
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Thu Mar 10, 2011 2:30 pm    Post subject: Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2538
Location: Melbourne, Australia

zpat wrote:
You don't have to use an indefinite get wait, using an interval of say 60 seconds and then checking for an application closedown request (not the same as quiescing the QM), before repeating the GET wait is one approach that works well.


Another approach is to use the async consume feature introduced in MQ v7.0.0. The main thread of the app can idle on waiting for an app close down request *and* waiting for an MQ message to arrive.

Quote:
If message arrival is bursty then closing the queue after a get wait of 60 secs (with no message) is also efficient because it will keep the queue open when message arrival is frequent but let it close when there is nothing much going on.


I might consider this design if the app was processing lots of different queues, or there were lots of instances of it, but if its only using one or two queues, I'd just leave the queues open indefinitely. There is no efficiency penalty in doing so, other than using a bit more memory in MQ.
_________________
Glenn
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » MQ performance
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.