Author |
Message
|
Nyusser |
Posted: Wed Jun 11, 2003 10:47 pm Post subject: Cluster workload balancing (MQ5.2) |
|
|
Apprentice
Joined: 02 Jul 2002 Posts: 48
|
Hi,
I have a cluster with 4 queue managers (QM1, QM2, QM3 and QM4). QM1 and QM4 are repository qms. QM2 and QM3 have the same queue definitions (DEFBIND=NOTFIXED).
When I write messages (with amqsput) to queues on QM2 and QM3 from QM4, they always end up on QM3. Any ideas, why the workload balancing doesn't share workload evenly?
- Nyusser |
|
Back to top |
|
 |
mqonnet |
Posted: Thu Jun 12, 2003 3:09 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
What platform and what version of MQ. There are quite a lot of bugs and fixes in this regards.
When you do a dis clusqmgr(*) from all the 4 qmgrs, do you see all the 4 in the cluster, without any temp* stuff. Does the same go with the clustered queues too in this case???
Did you modify the clustered queue def(defbind, etc) after they joined the cluster. If so, you may need to refresh the cluster to be able to get the latest info.
Cheers
Kumar |
|
Back to top |
|
 |
vennela |
Posted: Thu Jun 12, 2003 7:44 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Other than what Kumar mentioned:
I also think that amqsput program is not the right one to test. With amqsput, you can send multiple messages at one shot (every line being a message until you give a blank line). All these messages usually go to one clustered queue.
You have to use some other program to test such things.
------
Venny |
|
Back to top |
|
 |
mqonnet |
Posted: Thu Jun 12, 2003 8:00 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
Venny,
I am afraid, i differ with your statement.
Any standard bound app including amqsput has an agent process associated with the application. This guy is responsible to invoke the load balancing algol. And hence even with amqsput you should be able to achieve the load balancing provided all the cluster qmgrs cache is in sync and all the instances of the clustered queues are published with DEFBIND(NOTFIXED). Only then you would be able to achieve this.
Cheers
Kumar |
|
Back to top |
|
 |
vennela |
Posted: Thu Jun 12, 2003 8:46 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Kumar:
You are RIGHT and I am wrong. Just tested it with amqsput and the messages are being sent in a round robin fashion.
I don't know why I was of the impression that amqsput was opening the queue with BIND_ON_OPEN option. Anyway that makes things more clear on my part.
-------
Venny |
|
Back to top |
|
 |
jackie |
Posted: Wed Jun 18, 2003 10:41 am Post subject: |
|
|
 Novice
Joined: 01 Jun 2003 Posts: 20 Location: NYC
|
first, workload balancing algo will selects any instance of local queue on the local queue manager. If there are none available, it will use a round-robin. However, I don't know how you did set up those 4 queue managers. |
|
Back to top |
|
 |
|