Cluster Workload Management

Cluster workload management is how IBM MQ chooses where a message lands when the same cluster queue name exists on more than one queue manager. ORDERS.IN might run on QM_LON, QM_PAR, and QM_NYC for capacity; without workload rules, you might expect round-robin but see everything stay on the local member—or always favor one site—because CLWLUSEQ, CLWLPRTY, CLWLRANK, and CLWLWGHT tell a different story. Application OPEN and PUT options (bind to cluster, local queue manager only, etc.) also participate. This tutorial explains the selection problem, each CLWL attribute with comparisons, DEFBIND interaction at overview level, active versus available instances, monitoring with DISPLAY CLUSQ and route commands on your release, tuning for active/active versus primary/backup, and mistakes beginners make when duplicating queue names without setting workload attributes consistently.

The Selection Problem

Application issues put to cluster queue PAYMENT.IN. Repository cache lists three hosting members with network paths. Workload algorithm filters available instances (channels running, queue not inhibited), applies CLWLUSEQ rules, compares CLWLPRTY and CLWLRANK, may apply CLWLWGHT for weighted distribution, selects target, routes over cluster channel. Consumer on that member MQGETs. Wrong expectations—“why did Paris get London’s messages?”—start with DISPLAY which instances exist and their CLWL attributes.

CLWL attributes compared
AttributePurposeBeginner tip
CLWLPRTYPriority—higher often preferred among candidatesSet backup lower than primary
CLWLRANKRank within priority bandUse with PRTY for tie-break
CLWLWGHTWeight for proportional distributionActive/active capacity share
CLWLUSEQLocal vs any vs QM sequence rulesLOCAL keeps traffic on home QM
DEFBINDDefault bind for queue opensAlign app OPEN with intent

CLWLUSEQ in Practice

LOCAL affinity sends work to an instance on the putting queue manager if one exists—common when each site processes its own orders but shares disaster recovery copy. ANY allows remote instances when local absent or per algorithm. Queue-manager sequence options order preferred targets for advanced topologies—read IBM attribute value table for ALLOWED, LOCAL, QMGR, and ANY semantics on your version; do not guess numeric codes. Dedicated CLWLUSEQ tutorial expands scenarios.

Primary and Backup with CLWLPRTY

shell
1
2
3
4
5
6
7
* Primary site QM_LON DEFINE QLOCAL('PAYMENT.IN') CLUSTER('PAY') CLWLPRTY(9) CLWLRANK(0) + CLWLUSEQ(LOCAL) * Backup site QM_DR - lower priority DEFINE QLOCAL('PAYMENT.IN') CLUSTER('PAY') CLWLPRTY(1) CLWLRANK(0) + CLWLUSEQ(ANY) * Traffic prefers LON when up; DR receives when LON instance unavailable

Active/Active with CLWLWGHT

Two healthy instances with CLWLWGHT(50) and CLWLWGHT(50) encourage balanced distribution when USEQ allows any—verify behavior in lab with message counters. Unequal weights shift proportion—70/30 split for capacity mismatch. Weights interact with priority—document combined matrix before production.

Application Bind and Put Options

MQOO_BIND_AS_Q_DEF, MQOO_BIND_ON_GROUP, and MQPMO routing options change whether put respects cluster-wide workload or binds to a specific instance. Misaligned COBOL or Java open options override queue defaults you tuned in MQSC. Developers and operators must share bind strategy in integration specs.

Monitoring Workload Decisions

  • DISPLAY CLUSQ(name) CLUSTER(c) on multiple members—instance list.
  • Compare CURDEPTH growth rates across instances under load test.
  • Trace cluster puts during pilot—confirm expected member receives traffic.
  • After failover drill, verify DR instance receives puts when primary inhibited.

Explainer: Traffic Cop at an Intersection

Workload management is the traffic cop when three driveways share one street address. Priority signs (CLWLPRTY), lane weights (CLWLWGHT), and “stay in your neighborhood first” rules (CLWLUSEQ) decide which driveway each car takes.

Explain Like I'm Five: Cluster Workload

Three shops all named Toy Store get mail addressed to Toy Store. The post office has rules about which shop gets the next package when more than one can accept it.

Practice Exercises

Exercise 1

Design primary CLWLPRTY 9 and backup CLWLPRTY 1 for PAYMENT.IN.

Exercise 2

When should CLWLUSEQ LOCAL be used?

Exercise 3

All puts stay local despite remote instance—list four checks.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Workload management picks:

  • Which cluster queue instance
  • COBOL compiler
  • JCL class
  • Page set only

2. CLWLPRTY is:

  • Priority among instances
  • TCP port
  • DLQ name
  • Topic string

3. CLWLUSEQ controls:

  • Local vs any instance preference
  • SSL only
  • Retain flag
  • Trigger type

4. All traffic to one host—check:

  • Multiple instances in repo and USEQ
  • Only MAXMSGL
  • FTP
  • JES
Published
Read time18 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation