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 » IBM MQ Java / JMS » MQ Performance tracing

Post new topic  Reply to topic
 MQ Performance tracing « View previous topic :: View next topic » 
Author Message
klobubj
PostPosted: Tue Oct 09, 2007 10:15 am    Post subject: MQ Performance tracing Reply with quote

Newbie

Joined: 18 May 2007
Posts: 4
Location: Pittsburgh Pa

We have established MQ intercommunication with an external partner and are being asked to evaluate some of the performance lag between sites. Are there any tools or techniques that can help me evaluate the put times in the transmission queues as messages hop through our configuration of remote definitions to the ultimate local definition?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Oct 09, 2007 1:59 pm    Post subject: Re: MQ Performance tracing Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

klobubj wrote:
We have established MQ intercommunication with an external partner and are being asked to evaluate some of the performance lag between sites. Are there any tools or techniques that can help me evaluate the put times in the transmission queues as messages hop through our configuration of remote definitions to the ultimate local definition?


With no network latency and throughput monitoring between both sites you're SOL...

You can check the timestamp on the message when you receive it. Remember it is UTC and you cannot tell much.
A good monitoring software may tell you what the average time on queue of the message was...
Truth be told this is usually dependant on
  1. put time
  2. Lag between put and commit (UOW processing)
  3. lag time to start the channel (when triggered)
  4. Network transmission time
  5. clock discrepancy between the sender and receiver boxes
  6. lag time to receive the message...


Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
JuulV
PostPosted: Wed Oct 10, 2007 12:59 am    Post subject: Reply with quote

Apprentice

Joined: 05 Sep 2007
Posts: 28
Location: Belgium

Hi klobubj,

If you want to to trace "message latency" in real time, I think about the only way to do this is to use an API Exit that writes some key elements from the messages of interest (including the actual time that the PUTs and GETs were intercepted) to a shared file or DB, and have some tool to query this file/DB...

If you want to analyse this "after the fact", the WMQ Recovery logs can be used, but only if the messages are persistent (nonpersistent messages leave no trace behind in MQ, so these can only be tracked in real time)...

If you do some googling you might find one or two commerial tools out there that can assist you with either approach.
_________________
Juul Vanparijs
Senior Developer
Cressida Technology Ltd
Back to top
View user's profile Send private message Visit poster's website
mvic
PostPosted: Wed Oct 10, 2007 1:40 am    Post subject: Re: MQ Performance tracing Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

klobubj wrote:
being asked to evaluate some of the performance lag between sites.

So someone has already measured the time taken, and it's too long? Please give us an idea of the numbers involved here.
Back to top
View user's profile Send private message
markt
PostPosted: Wed Oct 10, 2007 3:20 am    Post subject: Reply with quote

Knight

Joined: 14 May 2002
Posts: 508

dspmqrte
Back to top
View user's profile Send private message
klobubj
PostPosted: Wed Oct 10, 2007 4:03 am    Post subject: Reply with quote

Newbie

Joined: 18 May 2007
Posts: 4
Location: Pittsburgh Pa

Statistically speaking the mode is around 20 seconds from a database write on their side to the putdatetime on our local queue. They are using a third party product to capture changes on a database and put to a remote definition on thier side. They're telling us that constitutes 13 of the 20 seconds. That first leg seems terrible to me and has generated the scrutany on whole.

So, the leaves us with about 7 seconds to evaluate from thier remote definition to a remote definition on our side where we abstact some of the security and then the final hop to a local definition.

While I recognize clock drift is a consideration if it's off it should be pretty consistantly off minimizing that concern on whole.

We don't see much difference between the first message and one say a minute later so channel initates can't be that bad.

I have little to benchmark against so I'm open to any impressions.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Oct 10, 2007 4:21 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

markt's excellent (as always) suggestion of dspmqrte only works if you're on v6, which OF COURSE you are.

It will give you lots of excellent information about how the message moves through the system, at each stop.

Other than that, you are stuck with trying to read between the lines of RESET Q STATISTICS.

Most likely candidate for any performance impact is going to be the oldest machine/ oldest version of qmgr in the chain, though. So if you know there's a backlevel qmgr in the mix...
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mvic
PostPosted: Wed Oct 10, 2007 4:34 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

Two ideas:
1. pay a LOT of attention to clock skew. This must be eliminated early, and could save you a lot of wasted effort.
2. take care to lay out on paper everything that happens in that 7 seconds. Discover what time each thing takes. Something may take 6.5 seconds and everything else takes 0.5. So focus on the thing that takes 6.5 seconds. Repeat this process until you find something that looks like it's taking longer than you think is right.

In order to support (2) investigate opportunities to trace what is going on. MQ can help here with its trace facility. Say "strmqtrc -m qmgrname -t api" and this will give you trace files in /var/mqm/trace (you have to run them through dspmqtrc to read them) which shows all MQI calls made on the queue manager, and the times they entered, and the times they completed.

Hope this helps
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » MQ Performance tracing
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.