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 » General Discussion » MQ Performance Bottlenecks when Reading from queue

Post new topic  Reply to topic Goto page 1, 2  Next
 MQ Performance Bottlenecks when Reading from queue « View previous topic :: View next topic » 
Author Message
surfnit
PostPosted: Wed Sep 20, 2006 4:04 pm    Post subject: MQ Performance Bottlenecks when Reading from queue Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

We are having problem wih an application thats reader throughput goes down after the curdepth is at 0 messages. Just to give you an idea, the performance starts at 800 or msgs/second (On the Reader) and eventually goes down to 100 msgs to 50 msgs/second.

I do not believe this has anything to do with the application. Any ideas on how one can this issue since it was not able to be re-produced?

Your help is appreciated. This is with MQ Client 6.0 and MQ Server 6.0 on Linux.

Are there any supportpacs the experts are aware that help me troubleshoot this problem?
Back to top
View user's profile Send private message
surfnit
PostPosted: Wed Sep 20, 2006 4:06 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

I forgot to mention there are no errors in any mq logs.
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Sep 20, 2006 4:06 pm    Post subject: Re: MQ Performance Bottlenecks when Reading from queue Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

surfnit wrote:
I do not believe this has anything to do with the application.
Why not? You can look at the performance supportpacs, where thousands upon thousands of messages are tested without any degradation.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
surfnit
PostPosted: Wed Sep 20, 2006 4:30 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

By the way, I work for an IBM partner that has a connector to MQ.

The reason I think it is not the application is that I have tried to re-produce this in-house and have been unsuccessful. Based on this it appears environmental.

Are there any supportpacs that can do a non-destructive read based on a period of time or number of messages whichever one comes first?

I am trying to prove the same behavior exists in a sample application.
Back to top
View user's profile Send private message
surfnit
PostPosted: Wed Sep 20, 2006 4:33 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

Or is there a supportpac that can trace the data between the MQServer and the MQ Client so that I can see the amount of time data is transferred between the 2. If it is during this communication, then I have proof that this is an MQ or network related problem.

Thanks for any feedback!
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Sep 20, 2006 4:55 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The performance reports are Support Packs.

The presupplied sample program amqsbcg will do a "non-destructive" read on a queue.

The presupplied sample program amqsbcgc will do a "non-destructive" read on a queue over a client connection.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
surfnit
PostPosted: Wed Sep 20, 2006 5:00 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

From my experience using this sample program, amqsbcgc will browse ALL messages.

I want to browse the number of messages over a period of time or 500 messages whichever comes first as this is what my application is doing.
Back to top
View user's profile Send private message
csmith28
PostPosted: Wed Sep 20, 2006 5:01 pm    Post subject: Reply with quote

Grand Master

Joined: 15 Jul 2003
Posts: 1196
Location: Arizona

Oh no, couldn't possibly be the application. It must be a problem with MQSeries.

Lets get this straight, once the depth of the queue is 0 you start to have problems.....

Hmm...

Think about what you are saying.
_________________
Yes, I am an agent of Satan but my duties are largely ceremonial.
Back to top
View user's profile Send private message
surfnit
PostPosted: Wed Sep 20, 2006 5:13 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

Sorry if I am not clear.
The queue depth starts at a very high rate around 200,000 messages where there is another application writing to the queue at 500 messages per commit point.


The reading application reads from this queue at a very high rate 800 msgs/second. Once the queue is back to 0, the queue depth then increases and eventually gets back to 100,000 messages to 200,000 messages to even higher. All these messages have been commited to the queue.

The reading application is then only processing 200 msgs/second and then down to 100 msgs/second and down to 50 msgs/second. So the source queue is then not at a depth of 0. The degragation in performance starts after the queue depth is cleared. But once the writing application puts more messages on the queue the reader is not able to process them as fast anymore.


Last edited by surfnit on Thu Sep 21, 2006 9:12 am; edited 1 time in total
Back to top
View user's profile Send private message
surfnit
PostPosted: Wed Sep 20, 2006 5:22 pm    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

So when there are 200,000 messages on the queue the application is only processing less than 100 msgs/second where it was processing 800 msgs/second.

If this is an application issue, how can i prove that as well? That would be using some sample program that reads from a queue every second and report the statistics.

Has anyone had to do this?
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Sep 20, 2006 11:57 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

surfnit wrote:
So when there are 200,000 messages on the queue the application is only processing less than 100 msgs/second where it was processing 800 msgs/second.

If this is an application issue, how can i prove that as well? That would be using some sample program that reads from a queue every second and report the statistics.

Has anyone had to do this?


At the risk of being condescending, what differences have you noticed in your application stats when it's processing this heavily laden queue? Have you noticed machine problems (i.e. I/O bottlenecks as it tries to pull the messages off disc)? By what logical process have you determined MQ to be the likely cause of the problem?

Check the SupportPacks as previously suggested for pointers as to how they performed the monitoring.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Sep 21, 2006 1:45 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You shouldn't actually be using another queue to read messages and count how fast it can do that.

You should be using a program that runs the PCF command RESET QUEUE STATISTICS every minute or so, and reports and saves the ENQUEUE and DEQUEUE rate in the last interval.

Then you will know how fast messages are being PUT onto the queue and how fast they are being TAKEN OFF the queue.

Then you can see if messages are being taken off as fast as they are being put on, or significantly slower. Then you'll know that the bottleneck is the sending application or the receiving application.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Sep 21, 2006 6:30 am    Post subject: Reply with quote

Guest




"... it appears environmental"

A few questions:

what platform?
what MQ version?
what programming language?

Are both the putting program and the getting program run concurrently?
Does the getting program do a get with a wait? Or, does it end itself and need to be re-launched for every get?

Messages all in syncpoint (unit of work)?

Are the putting and getting programs across a network?
Back to top
surfnit
PostPosted: Thu Sep 21, 2006 8:02 am    Post subject: Reply with quote

Novice

Joined: 24 Jul 2005
Posts: 15
Location: US - CA

MQ client version 6.0.1 MQ Server 6.0.1 on a Linux OS. Porgramming Language in C.

The putting and getting applications are running concurrently over a network. I will check on the actual MQ Calls being done and update this thread.

The putting application puts 500 messages per commit point. The getting application reads x number of messages in 1 second.

One interesting point I did not mention is that only when the application is re-started the throughput of the messages being read off the queue goes back up again and it starts to clear the messages off the queue.

The only reason I felt this was environmental (i do not know if it is the application of mq or network), was because i could not re-produce this behavior with a similar environment.

I checked MQ Server File System Space, MQ Server logs, did not check any other system level bottlenecks. I can monitor perhaps with the PCSF commands.

Thanks for the feedback!
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Sep 21, 2006 8:50 am    Post subject: Reply with quote

Guest




Which application (putting or getting) is on the client? which on the server? are both on the client?

client connection channels are more network intensive and network sensitivie than qmgr to qmgr connections.


Last edited by bruce2359 on Thu Sep 21, 2006 9:10 am; edited 1 time in total
Back to top
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General Discussion » MQ Performance Bottlenecks when Reading from queue
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.