Author |
Message
|
sfari |
Posted: Fri Aug 12, 2005 6:46 am Post subject: Workload balancing not working |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Hi,
I have a cluster with three queue managers. One on Sun Solaris "SUN" and two on z/OS "ZOS1" and "ZOS2". On both of the z/OS QMs I have defined a local cluster queue "Q.TEST" with attribute DEFBIND(NOTFIXED).
Now when I am putting messages on the Sun Solaris Server using /opt/mqm/samp/bin/amqsput Q.TEST all messages always go to ZOS1.
Similar other setups are working. Any idea what could be wrong here?
Thanks
Silvano |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Aug 12, 2005 7:10 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
DEFBIND is merely a suggestion. It is up to the application to use it or not use it, the application has full and exclusive control over where it uses MQOO_BIND_ON_OPEN or MQOO_BIND_NOT_FIXED, or use MQOO_BIND_AS_Q_DEF.
So if all the messages are going to one queue manager, then the application is most likely using MQOO_BIND_ON_OPEN. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
happyj |
Posted: Fri Aug 12, 2005 7:14 am Post subject: |
|
|
Voyager
Joined: 07 Feb 2005 Posts: 87
|
Have you suspended ZOS2 from the cluster ?
Is the channel TO.ZOS2 running ? |
|
Back to top |
|
 |
hopsala |
Posted: Sat Aug 13, 2005 2:38 am Post subject: |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
Also try such commands as "DISPLAY QCLUSTER(*)" and other cluster commands to see if the cluster qs have been published to your qm. If not, try refreshing the cluster - see Clusters manual.
Look at error logs on all machines, possibly the cluster is not set up properly. |
|
Back to top |
|
 |
sfari |
Posted: Sun Aug 14, 2005 10:33 pm Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Thanks for the answers. The sample application does use the MQOO_BIND_NOT_FIXED. I can see that on other similar environments where messages are spred between the cluster queues. The channels are running and dis qcluster(*) shows all the expected queues and no errors are logged.
I made an other test, changed Put allowed to inhibit and it happend that all messages went to ZOS2 as expected. But as soon as on both queues put is allowed messages go always to ZOS1. |
|
Back to top |
|
 |
Nigelg |
Posted: Mon Aug 15, 2005 12:12 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
One possible cause of this is that ZOS2 has been suspended from the cluster. Issue the command RESUME QMGR CLUSTER(CLUSNAME) or the zOS equivalent. _________________ MQSeries.net helps those who help themselves.. |
|
Back to top |
|
 |
sfari |
Posted: Mon Aug 15, 2005 1:32 am Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
As I mentioned putting on ZOS2 is possible as soon as ZOS1 is not available (eg. put inhibit). Thus ZOS2 is not suspended but strange is that no messages will be sent to it as soon as also ZOS1 is available. |
|
Back to top |
|
 |
KeeferG |
Posted: Mon Aug 15, 2005 3:25 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
If you are using V6 you should check your cluster priority and rank for queues and channels _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
sfari |
Posted: Mon Aug 15, 2005 3:39 am Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
I am using 5.3 CSD10 on Solaris and on z/OS some other 5.3 version. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Aug 15, 2005 6:13 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
in your first post you wrote that you are using amqsput
in a alter post you wrote that the test application uses bind_not_fixed
amqsput (i checked on linux) does not specify any bind option, so it uses bind_as_q_def (did you modify the sample) ? or do you specify any
open options by invokation of amqsput?
from the sum machine,
please post a "DISPLAY CLUSQMGR(*) ALL"
please post a "DISPLAY QCLUSTER(Q.TEST) ALL"
please post the way you call amqsput (if not modified). if you have a modified version of amqsput with open options, please post the proper program section (setting options and open) and the way you call it. _________________ Regards, Butcher |
|
Back to top |
|
 |
sfari |
Posted: Mon Aug 15, 2005 7:18 am Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
No I haven't modified the sample. I knew that the amqsput program uses what the queue specifies. Since I have NOTFIXED specified it must use not fixed binding.
In the listing below the SUN qm is "C004501A.SUN.T", ZOS1 "T1QM", ZOS2 "T2QM", and the test queue is "A.EPLATFORM.CLUSTST".
Thanks for your help!
Code: |
/opt/mqm/samp/bin/amqsput A.EPLATFORM.CLUSTST
|
Code: |
dis clusqmgr(*) cluster(TEST) all
3 : dis clusqmgr(*) cluster(TEST) all
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(C004501A.SUN.T) CLUSTER(TEST)
CHANNEL(CC.TO.C004501A) CONNAME(ecpent01)
QMID(C004501A.SUN.T_2003-04-01_08.31.51)
DESCR(Cluster QM -> ecpent01) CLUSTIME( )
CLUSDATE( ) ALTTIME(13.47.18)
ALTDATE(2005-08-10) TRPTYPE(TCP)
DEFTYPE(CLUSRCVR) QMTYPE(NORMAL)
MCANAME( ) MODENAME( )
TPNAME( ) BATCHSZ(50)
DISCINT(6000) SHORTRTY(10)
SHORTTMR(60) LONGRTY(999999999)
LONGTMR(1200) SCYEXIT( )
SCYDATA( ) SEQWRAP(999999999)
MAXMSGL(104857600) PUTAUT(DEF)
CONVERT(NO) MCAUSER( )
MCATYPE(THREAD) MREXIT( )
MRDATA( ) MRRTY(10)
MRTMR(1000) HBINT(300)
BATCHINT(0) NPMSPEED(FAST)
NETPRTY(0) SUSPEND(NO)
SSLCIPH(TRIPLE_DES_SHA_US) SSLCAUTH(REQUIRED)
BATCHHB(0) LOCLADDR( )
KAINT(AUTO) ALTTIME(13.47.18)
ALTDATE(2005-08-10)
SSLPEER(CN=MQ*,L=8401 Winterthur,ST=ZH,C=CH,O=Winterthur Versicherungen,OU=*)
SENDEXIT( )
SENDDATA( )
MSGEXIT( )
MSGDATA( )
RCVEXIT( )
RCVDATA( )
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(T1QM) CLUSTER(TEST)
CHANNEL(CC.TO.T1QM) CONNAME(S51)
QMID(T1QM.BD1FFF8564F0E6CA)
DESCR(Channel advertising T1QM to TEST)
CLUSTIME(20.08.29) CLUSDATE(2005-08-13)
ALTTIME(13.30.59) ALTDATE(2005-08-10)
TRPTYPE(TCP) DEFTYPE(CLUSSDRB)
QMTYPE(REPOS) MCANAME( )
MODENAME( ) TPNAME( )
BATCHSZ(50) DISCINT(6000)
SHORTRTY(10) SHORTTMR(60)
LONGRTY(999999999) LONGTMR(1200)
SCYEXIT( ) SCYDATA( )
SEQWRAP(999999999) MAXMSGL(4194304)
CONVERT(NO) USERID()
PASSWORD() MCAUSER( )
MCATYPE(THREAD) HBINT(300)
BATCHINT(0) NPMSPEED(FAST)
NETPRTY(0) SUSPEND(NO)
STATUS(INACTIVE) SSLCIPH(TRIPLE_DES_SHA_US)
SSLCAUTH(REQUIRED) BATCHHB(0)
LOCLADDR( ) KAINT(AUTO)
ALTTIME( ) ALTDATE( )
SSLPEER(CN=MQ*,L=8401 Winterthur,SP=ZH,C=CH,O=Winterthur Versicherungen,OU=*)
SENDEXIT( )
SENDDATA( )
MSGEXIT( )
MSGDATA( )
RCVEXIT( )
RCVDATA( )
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(T2QM) CLUSTER(TEST)
CHANNEL(CC.TO.T2QM) CONNAME(S52)
QMID(T2QM.B4DE7B906C909480)
DESCR(Channel advertising T2QM to TEST)
CLUSTIME(20.09.09) CLUSDATE(2005-08-13)
ALTTIME(13.32.21) ALTDATE(2005-08-10)
TRPTYPE(TCP) DEFTYPE(CLUSSDRA)
QMTYPE(REPOS) MCANAME( )
MODENAME( ) TPNAME( )
BATCHSZ(50) DISCINT(6000)
SHORTRTY(10) SHORTTMR(60)
LONGRTY(999999999) LONGTMR(1200)
SCYEXIT( ) SCYDATA( )
SEQWRAP(999999999) MAXMSGL(4194304)
CONVERT(NO) USERID()
PASSWORD() MCAUSER( )
MCATYPE(THREAD) HBINT(300)
BATCHINT(0) NPMSPEED(FAST)
NETPRTY(0) SUSPEND(YES)
STATUS(INACTIVE) SSLCIPH(TRIPLE_DES_SHA_US)
SSLCAUTH(REQUIRED) BATCHHB(0)
LOCLADDR( ) KAINT(AUTO)
ALTTIME( ) ALTDATE( )
SSLPEER(CN=MQ*,L=8401 Winterthur,SP=ZH,C=CH,O=Winterthur Versicherungen,OU=*)
SENDEXIT( )
SENDDATA( )
MSGEXIT( )
MSGDATA( )
RCVEXIT( )
RCVDATA( )
dis qcluster(Q.EPLATFORM.CLUSTST) all
4 : dis qcluster(Q.EPLATFORM.CLUSTST) all
AMQ8409: Display Queue details.
DESCR(Test Queue für neue Clusterstrat)
CLUSTER(TEST) QUEUE(Q.EPLATFORM.CLUSTST)
CLUSQMGR(T1QM) QMID(T1QM.BD1FFF8564F0E6CA)
CLUSDATE(2005-08-10) CLUSTIME(14.31.38)
ALTDATE(2005-08-15) ALTTIME(08.25.05)
CLUSQT(QLOCAL) TYPE(QCLUSTER)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(YES) DEFBIND(NOTFIXED)
AMQ8409: Display Queue details.
DESCR(TEST QUEUE FÜR NEUE CLUSTERSTRAT)
CLUSTER(TEST) QUEUE(Q.EPLATFORM.CLUSTST)
CLUSQMGR(T2QM) QMID(T2QM.B4DE7B906C909480)
CLUSDATE(2005-08-10) CLUSTIME(14.31.38)
ALTDATE(2005-08-10) ALTTIME(14.58.56)
CLUSQT(QLOCAL) TYPE(QCLUSTER)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(YES) DEFBIND(NOTFIXED)
|
|
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Aug 15, 2005 7:42 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
t2qm is suspended? _________________ Regards, Butcher |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Aug 15, 2005 12:31 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
sfari wrote: |
As I mentioned putting on ZOS2 is possible as soon as ZOS1 is not available (eg. put inhibit). Thus ZOS2 is not suspended but strange is that no messages will be sent to it as soon as also ZOS1 is available. |
Not true. A suspended QM can receive messages from the cluster. Take a look in the Cluster manual on the SUSPEND command and what it really means.
That was a smart test you did, PUT_INHIBITING ZOS1. By showing us that given no other choice the messages went to ZOS2, you proved the channels and queues are defined correctly. So the question is why does the Workload algorithem always favor ZOS1 given the choice?
You symptoms indicate a suspended QM. Or ZOS2 is getting a *LOT* more traffic, so its channel sequence numbers are rising very fast compared to ZOS1, and so the algorithim chooses Z0S1 as the least used channel every time one of your little messages from amqsputc comes along, so they all go there.
Or you have a cluster workload exit installed. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Aug 15, 2005 12:33 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Mr Butcher wrote: |
t2qm is suspended? |
whoops! just saw this as soon as I posted. That of course is the answer. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
sfari |
Posted: Mon Aug 15, 2005 9:46 pm Post subject: |
|
|
Centurion
Joined: 15 Apr 2003 Posts: 144
|
Ups, that's bad I haven't seen this before. Thanks MR. Butcher! I had a wrong understanding of beeing suspended thought messages can't be put then. Thus I haven't thought about this. Thanks Peter for correcting me!
Compliment to all in this forum! It's just great, thanks! |
|
Back to top |
|
 |
|