This comes under the general performance question - so like most performance questions the answer is - it depends.
Why would I want to have my page set expand
When you first set up your system you may not have know the size you needed to handle peak workload - and the workload may have changed since the page set was created. You can have it expand as it gets full. You may be told we now need to keep messages for twice as long if there is a problem - for example 4 hours.
Why would I not want my page set to expand
Once the page set has expanded it is not easy to make it smaller. It can take longer to backup a large page set compare to a small page set - but it depends on how you back it up! See https://www.ibm.com/developerworks/community/blogs/c4142f9d-6cf1-44ef-a44a-b09428ad96d1/entry/backing_up_mq_pagesets_what_do_i_need_to_do?lang=en
How do I set the page set expansion options?
Use the ALTER PSID command
- EXPAND(NONE) No further page set expansion is to take place.
- EXPAND(USER) - The secondary extent size that was specified when the page set was defined is used. If no secondary extent size was specified, or if it was specified as zero, then no dynamic page set expansion can take place.
- EXPAND(SYSTEM). A secondary extent size that is approximately 10 per cent of the current size of the page set is used. It might be rounded up depending on the characteristics of the DASD. Even if no secondary space was specified for the page set, you can will allow it to expand by using this option
If you realize that EXPAND(USER) is not going to be enough space you can dynamically change it to EXPAND(SYSTEM).
What does this mean?
If you allocate a primary extent of 1000 cylinders and a secondary extent of 1 cylinder. When the page set starts to get full, an internal task will start page set expansion
- EXPAND(SYSTEM) will allocate a secondary extent of 100 cylinders and use it. If this fills up then it will allocate another extent of 101 cylinders
- EXPAND(USER) will allocate a secondary extent of 1 cylinder, if this fills up then another 1 cyl extent will be created
This looks pretty simple - is that all ?
No. See here
The number of extents used to be 123. It now depends on how many volumes are available.
It used to be that if you only specified one volume in your definitions - then the page set could only use this single volume.
If multiple volumes are specified as part of the page set definition, you can use guaranteed space to make sure there is enough space available on secondary volumes. SMS will allocate space equal to the primary extent on the secondary volumes. Page set expansion can expand into this and only use part of the extent as it needs. So MQ may expand 10 times but from an SMS perspective only two physical extents are used.
It now looks more complex- is this it?
No. If you are using SMS, then the definitions used to create your page set may be overridden by SMS. You need to use the LISTCAT ENT(....) ALL command to see all of the information.
Even though you asked for a primary extent of 1000 - you may find your allocation is different. For example SMS could not allocate 1000 cylinders in one block, so it allocate two extents - one of 600 Cylinders and one of 400 Cylinders, so you need to be careful interpreting the output of the listcat !
Is that finally it ?
No - Good luck - that's it.