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 » What's wrong with sharing?

Post new topic  Reply to topic
 What's wrong with sharing? « View previous topic :: View next topic » 
Author Message
royr
PostPosted: Tue Aug 21, 2001 6:34 am    Post subject: Reply with quote

Acolyte

Joined: 30 Jun 2001
Posts: 65
Location: Israel

Hi,

"Why shouldn't I share the same local queue between processes that have different functions?"

During the design stages of an MQ application, a stubborn customer came up with this question and is unwilling to let go. I need hard answers (preferably references to official IBM documents or quotes from IBM employees) for it.

By "different functions" I don't necessarily mean a mix of message types in the same queue, but different processes, each doing a different (but similar) kind of work.

For example: Suppose I define a queue that contains debit requests from both credit card companies and bank transfers. Two processes serve the queue, one handles credit card companies requests and the other handles bank transfers. Each process knows exactly which messages should it get (say by selecting from the queue by CorrelId).

What's wrong with this design? It's technically feasible, and IBM does not recommend against it in any of the documents I saw.

I came up with some answers myself, but none of the seem to kill the argument:

1. Selection by CorrelId is expected to cause performance degradation.

2. One process can overflow the queue (e.g., if its messages are accumulating faster then they're processed), disrupting the other process.

3. One process backouting can disrupt the other process BROWSE_UNDER_CURSOR requests (HOW? I got a strong feeling it can happen, but can't explain).

4. Debugging a single process is hell, since the queue is stuffed with irrelevant messages.

5. Because I said so.

One irrelevant answer is:
Multiple servers on the same queue cause performance degredation because of the sharing overhead. It's actually usually recommended to run several instances of the same process serving the same queue to improve performance.

Can you help guide this lost sheep to its herd?
Back to top
View user's profile Send private message
kolban
PostPosted: Tue Aug 21, 2001 7:25 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

One other answer would be separation of function. If a single queue is being used for two purposes, having separate queues allows a higher degree of configurability and maintainability. A queue per function allows the queue to be named for that function.

The biggest grouch is the get by correlid. This will always be slower than get next message. Unless you are using MQ on z/OS, there is no indexing on MsgId or CorrelId and as such a linear scan of the queue to find a matching message (or not) is required.
Back to top
View user's profile Send private message
Tibor
PostPosted: Tue Aug 21, 2001 11:34 pm    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

Unless you are using MQ on z/OS, there is no indexing on MsgId or CorrelId

... or Compaq NSK (formerly Tandem)
Back to top
View user's profile Send private message
finnr
PostPosted: Mon Oct 29, 2001 12:53 am    Post subject: Reply with quote

Newbie

Joined: 28 Oct 2001
Posts: 1
Location: Russell Finn

>Unless you are using MQ on z/OS, there is no indexing on MsgId or CorrelId

The main distributed platforms (NT, AIX, HP, Sun etc) index all local queues by all relevant indices - CorrelId, MsgId, GroupId, MsgSeqNumber, Offset

Russell Finn
Back to top
View user's profile Send private message Send e-mail
bower5932
PostPosted: Mon Oct 29, 2001 2:42 pm    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

Is the distributed indexing actually documented anywhere?
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » What's wrong with sharing?
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.