Author |
Message
|
chris boehnke |
Posted: Mon Jun 30, 2008 9:33 am Post subject: round robining is not working in a cluster! |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Hi guys,
This is on MQ V6.0.
I have 3 FRs(QM1, QM2, QM3) and 2 PRs(QM4, QM5) all are in a cluster called CLAS1.
There is a cluster queue Q1 on each of the PR(QM4 AND QM5)
I am trying to send msgs to Cluster Queue Q1 on PRs from FRs to PRs.
Sometimes I see the msgs are going in round robin fashion from FR to PR. Later when I try again, they all are going to the same queue manager.
Can anybody suggest whether I am doing anything wrong in settings.
on the cluster queue the property is set as NOTFIXED.
Thanks. |
|
Back to top |
|
 |
sami.stormrage |
Posted: Mon Jun 30, 2008 11:07 am Post subject: |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
check if you have set the attribut ClUSWLUSEQ(ANY) on the PR Qmgrs and Q's. And if the same is happening even after you have set these things. Check if your application is disconnecting properly after putting the messages. _________________ *forgetting everything * |
|
Back to top |
|
 |
chris boehnke |
Posted: Mon Jun 30, 2008 12:04 pm Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
sami.stormrage wrote: |
check if you have set the attribut ClUSWLUSEQ(ANY) on the PR Qmgrs and Q's. And if the same is happening even after you have set these things. Check if your application is disconnecting properly after putting the messages. |
Hi,
I am using CLWLUSEQ(LOCAL) on the PR QMgrs and CLWLUSEQ(QMGR) on Cluster queues on PRs.
Plz let me know if I need to change these properties.
Thanks. |
|
Back to top |
|
 |
sami.stormrage |
Posted: Mon Jun 30, 2008 12:37 pm Post subject: |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
yes please _________________ *forgetting everything * |
|
Back to top |
|
 |
chris boehnke |
Posted: Mon Jun 30, 2008 12:46 pm Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
sami.stormrage wrote: |
yes please |
I changed the CLWLUSEQ(ANY) on PR QMgrs and on teh cluster queeus of PRs. now all the msgs are going to one PR. they are not round robining.
I tested this with the ./amqsput sample program from FR.
Let me know further investigation.
Thanks. |
|
Back to top |
|
 |
sami.stormrage |
Posted: Mon Jun 30, 2008 1:38 pm Post subject: |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
zoinks.. till this day even I used to think that clwluseq(any) should solve all your routing problems.. lemme test and verify if its the fautly amqsput program.. or the inherent mq problem.. where its just unable to see that it has to route the messages to two different Qmgrs..  _________________ *forgetting everything * |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Jun 30, 2008 1:51 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
If QM1 is sending to QM4 and QM5 you would think that any and all messages will round robin evenly. The workload algorithm looks at a lot of things when deciding where to send messages. In particular how heavily the channels are being used.
If App Z is sending tons of messages from QM1 to QM4, the channel to QM4 is more heavily used. If you come along with App A and start putting from QM1 to QM4 and QM5, all your messages will go to QM5. This is a "bug" with the way MQ clustering works. "bug" is in quotes because it is technically working as designed - 1 apps workload can disrupt another app's load balancing.
There are other reasons for your symptoms, like a channel starting up. If the channel from QM1 to QM4 is up and the one from QM1 to QM5 is in the process of starting, all your work may go to QM4 before the QM5 channel has a chance to get going. Always use lots of messages when "testing" whether load balancing works. It does.
And the simplest answer is the bind option. Make sure your queues AND the app code are allowing bind not fixed.
P.S. You shouldn't have 3 Full Repositories. It doesn't help and in fact can do harm. Lots of long discussions on this board on why this is. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mlr |
Posted: Mon Jun 30, 2008 2:35 pm Post subject: |
|
|
Novice
Joined: 29 Jun 2008 Posts: 13
|
Quote: |
This is a "bug" with the way MQ clustering works. |
IZ23058 |
|
Back to top |
|
 |
sami.stormrage |
Posted: Mon Jun 30, 2008 3:44 pm Post subject: lb |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
Problem conclusion
WebSphere MQ was altered so that the DSF no longer has an
impact on workload balancing when the weighting attribute
(CLWLWGHT) is at the default value for all possible channel
destinations. If CLWLWGHT is not set to the default, the DSF
will still affect workload balancing.
Wonder if they will come up with another explaination if this fix does not work. Guess its the problem with the bindings tht are created when a Q name resolution takes place.. This problem of recycling the Qmgrs when load balencing is not working or messages ending up on a XmitQ even though the bind has been changed form open to not fixed exits since version 5.3.. Y dint anyone suggest this soln. then?  _________________ *forgetting everything * |
|
Back to top |
|
 |
chris boehnke |
Posted: Wed Jul 02, 2008 5:29 am Post subject: Re: lb |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Hi Guys,
When I change the useQ property on the QMgr to (ANY) and the cluster queue which is defined on both the PRs is set to (QMGR). Now its working.
I dont understand why its working when I set the QMGRs useq(ANY) and CLUSTERQs useq(QMGR)
and why its not working when I set
QMGRs useq(ANY) and CLUSTERQs useq(any)?.
From the documentation what I understand is, when the useq property is the same on both the QMGR and CLUSTERQ, the priority is for the CLUSTERQ.
Can anybody share your thoughts on the above statements?.
Thanks. |
|
Back to top |
|
 |
sami.stormrage |
Posted: Thu Jul 03, 2008 2:18 pm Post subject: |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
it was already so confusing.. with all the aliasing .. now they have made it just.. untouchable.. I prefer sticking to what manual says.. now-a-days..  _________________ *forgetting everything * |
|
Back to top |
|
 |
billybong |
Posted: Wed Jul 23, 2008 2:54 am Post subject: |
|
|
 Disciple
Joined: 22 Jul 2005 Posts: 150 Location: Stockholm, Sweden
|
Any more advice on this one? I'm having the exact same problem.
Three qmgrs:
CQM1 (has local cluster queue CQ1) FR
CQM2 (has local cluster queue CQ1) FR
CQM3 PR
On CQM3 I see two CQ1 cluster queues which I put to using either amqsput or ih03 mqputs utility.
All my messages ends up at the same qmgr, either the CQM1 or CQM2.
These queues are the only ones I'm using so no other unique queues exists, therefore I dont think the APAR above covers my scenario.
CQ1 on the QCM1 and 2 have the cluster use q set to "Qmgr" and default bind "not fixed". All qmgrs in the cluster has the cluster use remote q set to "any".
Just for testing sake I altered all channels to have a CLWLGHT to 5, not the default value.
Does anyone know if AMQSPUT and mqputs application uses BIND ON OPEN? I dont really have the time to write my own code to test this out, but are rather relying on that some standard applications could be used to test load balancing. _________________ IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Integration Developer V6.0
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere DataPower |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jul 23, 2008 6:02 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
billybong wrote: |
Does anyone know if AMQSPUT and mqputs application uses BIND ON OPEN? |
The source code for amqsput is on your server.
I suspect it use the queue's default bind option. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
billybong |
Posted: Wed Jul 23, 2008 7:25 am Post subject: |
|
|
 Disciple
Joined: 22 Jul 2005 Posts: 150 Location: Stockholm, Sweden
|
Got the load balancing to work now... I changed the queue usage to ANY as well. Strange, had it to QMGR and all qmgrs in the cluster used ANY, have I misunderstood the propagation of this attribute? _________________ IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Integration Developer V6.0
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere DataPower |
|
Back to top |
|
 |
sami.stormrage |
Posted: Fri Jul 25, 2008 6:18 am Post subject: |
|
|
 Disciple
Joined: 25 Jun 2008 Posts: 186 Location: Bangalore/Singapore
|
nope... _________________ *forgetting everything * |
|
Back to top |
|
 |
|