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 IBM MQ Support » Any Limits on Clients

Post new topic  Reply to topic
 Any Limits on Clients « View previous topic :: View next topic » 
Author Message
klamerus
PostPosted: Sat Feb 26, 2005 5:16 pm    Post subject: Any Limits on Clients Reply with quote

Disciple

Joined: 05 Jul 2004
Posts: 199
Location: Detroit, MI

We have an application where we have programs pulling messages off queues and performing work based on those messages.

We have just uplifted our servers to some faster boxes (these are all Windows), and we have plenty of capacity now to run several of these programs against a single queue (hence getting work done faster).

Is there any limits to how many programs we can have doing an MQGet against a single queue and how exactly would it work so far as which gets the message? For instance, if we create 4 of these programs and point them all to the same queue, one will certainly issue it's Get command first, second, third and fourth. When messages start coming in, will the one waiting first, get the first message, and then if another comes in (while the first is working) will the second get it, and so on?
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger
zpat
PostPosted: Sat Feb 26, 2005 11:23 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

They will in effect self-load balance by pulling messages until they are busy processing them. The gets will be met in the order received by the queue manager I believe, but it doesn't really matter.
Back to top
View user's profile Send private message
klamerus
PostPosted: Sun Feb 27, 2005 10:11 am    Post subject: No deadlock? Reply with quote

Disciple

Joined: 05 Jul 2004
Posts: 199
Location: Detroit, MI

There's no way that requests coming in will get stuck in a deadlock or contention situation is there?
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger
PeterPotkay
PostPosted: Tue Mar 01, 2005 4:45 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Quote:

There's no way that requests coming in will get stuck in a deadlock or contention situation is there?

No.

And the client threads that get the messages will not be exactly load balanced. If each thread takes 1 second to process a message, and the messages arrive once every 10 seconds, it is possible that at the end of the day, Thread 1 did 100%, or 0%, or any % in between, of the processing. You shouldn't care though. Just now that if Thread X is pworking on Message#1, and Message#2 arrives, 1 of the 3 remaining threads will instantly get it. As long as their are availabe threads with outstanding GET With Waits, your messages will get processed instantly, but it is "undocumented" as to whatthe distribution will be.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
klamerus
PostPosted: Tue Mar 01, 2005 5:02 pm    Post subject: Puzzled Reply with quote

Disciple

Joined: 05 Jul 2004
Posts: 199
Location: Detroit, MI

Well, now I'm puzzled. If three different executables all do a GET - after which they'll each individually be waiting (presumably in some sort of order) for messages, I can't see how one program would get all the requests. Even if the first one only took 1 second, the other two would already be waiting on the queue.
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger
jefflowrey
PostPosted: Tue Mar 01, 2005 5:06 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Peter's case depends on messages arriving slower than it takes to process the message. In that case, every time a message shows up, all thread processes will be waiting.

So every thread process has the same chance of getting each message - assuming that the undocumented methods don't have an undocumented priority scheme in place.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
klamerus
PostPosted: Tue Mar 01, 2005 5:11 pm    Post subject: Ahhh Reply with quote

Disciple

Joined: 05 Jul 2004
Posts: 199
Location: Detroit, MI

I see.

Well, that's not really a problem then though. If the messages are arriving slower than the processing, having more processing power won't make any difference anyway. I'm not trying to artificially create load-balancing across these programs doing the work. I just want to use up excess capacity I have (vs. being single-threaded and slower).

So, if the same process does all the processing (because it finishes before the next message arrives) I wouldn't care less.
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Any Limits on Clients
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.