structure size, Coupling Facility (CF), structures, example definition statements" />
Planning the size of your structures
The administrative structure (qsg-nameCSQ_ADMIN) must be large enough to contain 1000 list entries for each queue manager in the queue-sharing group. When a queue manager starts, the structure is checked to see if it is large enough for the number of queue managers currently defined to the queue-sharing group. Queue managers are considered as being defined to the queue-sharing group if they have been added by the CSQ5PQSG utility. We can check which queue managers are defined to the group with the MQSC DISPLAY GROUP command.
Table 19 shows the minimum required size for the administrative structure for various numbers of queue managers defined in the queue-sharing group. These sizes were established for a CFCC level 9 Coupling Facility structure; for higher levels of CFCC, they probably need to be larger.
Table 19. Minimum administrative structure sizes Number of queue managers defined in queue-sharing group Required storage 1 2560KB 2 3328KB 4 4608KB 8 7680KB 16 13568KB 31 24832KB The size of the structures required to hold WebSphere MQ messages depends on the likely number and size of the messages to be held on a structure concurrently, together with an estimate of the likely number of concurrent units of work.
The graph in Figure 21 shows how large you should make your CF structures to hold the messages on your shared queues. To calculate the allocation size we need to know
- The average size of messages on your queues
- The total number of messages likely to be stored in the structure
Find the number of messages along the horizontal axis. (Ticks are at multiples of 2, 5, and 8.) Select the curve that corresponds to your message size and determine the required value from the vertical axis. For example, for 200 000 messages of length 1 KB gives a value between 256 and 512MB.
Table 20 provides the same information in tabular form.
Figure 21. Calculating the size of a Coupling Facility structureUse this table to help calculate how large to make your Coupling Facility structures:
Table 20. Calculating the size of a Coupling Facility structure Number of messages 1024 KB 2048 KB 4096 KB 8192 KB 16384 KB 32768 KB 64512 KB 100 2.5 2.5 3 3.5 4 7 11 1000 4 6 9 13 28 50 88 10000 22 40 58 136 210 448 832 100000 208 352 640 1024 2560 4000 10240 Your CFRM policy should include the following statements:
STRUCTURE NAME(structure-name) INITSIZE(value from graph in KB, that is, multiplied by 1024) SIZE(something larger) FULLTHRESHOLD(85)INITSIZE is the size in KB that XES allocates to the structure when the first connector connects to it.
SIZE is the maximum size that the structure can attain.
FULLTHRESHOLD sets the percentage value of the threshold at which XES issues message IXC585E to indicate that the structure is getting full.
For example, with the figures determined above, you might include the following statements:
STRUCTURE NAME(QSG1APPLICATION1) INITSIZE(272144) /* 256 MB */ SIZE(524288) /* 512 MB */ FULLTHRESHOLD(85)If the structure use reaches the threshold where warning messages are issued, intervention is required. You might use WebSphere MQ to inhibit MQPUT operations to some of the queues in the structure to prevent applications from writing more messages, start more applications to get messages from the queues, or quiesce some of the applications that are putting messages to the queue.
Alternatively, we can use XES facilities to alter the structure size in place. The following z/OS command:
SETXCF START,ALTER,STRNAME=structure-name,SIZE=newsizealters the size of the structure to newsize, where newsize is a value that is less than the value of SIZE specified on the CFRM policy for the structure, but greater than the current Coupling Facility size.
We can monitor the use of a Coupling Facility structure with the MQSC DISPLAY GROUP command.
If no action is taken and a queue structure fills up, an MQRC_STORAGE_MEDIUM_FULL return code is returned to the application. If the administration structure becomes full, the exact symptoms depend on which processes experience the error, but they might include the following problems:
- No responses to commands.
- Queue manager failure as a result of problems during commit processing.