|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Work load balance in mq cluster |
« View previous topic :: View next topic » |
Author |
Message
|
RaviKrG |
Posted: Mon Jan 24, 2011 3:51 am Post subject: Work load balance in mq cluster |
|
|
 Master
Joined: 07 Sep 2008 Posts: 240
|
Hello all, We have one queue Q1 defined on 4 qmgrs locally defined. All the 4 queues (and 4 qmgrs) are in same cluster (we have only one cluster). The qmgr and queue properties for the queues and qmgr are as below
c1 - Q1 - Q (CLWLUSEQ(ANY)) - qmgr CLWLUSEQ(LOCAL)
f1 - Q1 - Q CLWLUSEQ(ANY) - qmgr CLWLUSEQ(ANY)
c2 - Q1 - Q CLWLUSEQ(ANY) - qmgr CLWLUSEQ(LOCAL)
m1 - Q1 - CLWLUSEQ(ANY) - qmgr CLWLUSEQ(LOCAL)
Now we see that we always have messages on the 3 queues except on {{ f1 - Q1 - Q CLWLUSEQ(ANY) - qmgr CLWLUSEQ(ANY) }}. Ofcourse message come on f1 but we see no pile and they gets processed. But the other 3 qmgrs c1, c2 and m1 have lot of messages (10K and some times it goes to 100K) but still we see the queue on f1 still zero.
Is there any thing that I am missing which could really reduce the load on 3 servers and the 4th can get some messages. Also we did try to change the CLWLUSEQ(ANY) for Queue Q1 on f1 to LOCAL just to test the load what really it gives but no help.
Any help on this would be appreciated. Thanks in Advance |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jan 24, 2011 3:56 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
If an application has specified BIND_ON_OPEN, then there's nothing that CLWLUSEQ() can change.
If you want load to be distributed fairly across all instances, then all instances should have CLWLUSEQ(ANY), not LOCAL. And make sure that all applications are using BIND_NOT_FIXED.
If you otherwise just want to ensure that one server gets a different portion of the traffic than the others, you should alter the CLWLRANK and CLWLPRTY. |
|
Back to top |
|
 |
RaviKrG |
Posted: Mon Jan 24, 2011 3:59 am Post subject: |
|
|
 Master
Joined: 07 Sep 2008 Posts: 240
|
Thanks mqjeff for the reply. but the problem was that we are no where connected to the application which is putting the messages, neither we have any thing on that. I am not sure in this case wheter we can do something other than CLWLRANK and CLWLPRTY. any alernatives. will try to find the applications properties who are putting the messages |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jan 24, 2011 4:02 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Go back and review the cluster workload balancing stuff again. The number of messages sent over a particular channel is what is used.
So again, you can do things that seem odd but actually have value like add additional cluster receivers to a qmgr that is expected to handle additional work. It then shows up as an additional instance of the queue in the cluster. |
|
Back to top |
|
 |
vmcgloin |
Posted: Mon Jan 24, 2011 4:34 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Bear in mind that MQOO_BIND_AS_Q_DEF is the default value so until you have access to check the applications you should check the queue values are not fixed.
Also, CLWLUSEQ(ANY) is specified on the Q1 queues so it does not matter that it is not specified on the qmgrs. Where do the messages come from? A gateway queue manager? or local apps? If a message arrives over a cluster channel, it will be put to a local instance of a cluster queue.
Assuming you have checked and there is nothing wrong with the cluster, it is just that f1 has more processing power, then as Jeff said, look at your workload balancing set up, though I would start with CLWLWGHT for this problem. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|