Why the BLKSIZE and BUFNO DCB parameters should be specified on IMSMON DD statements. Online system performance degradation and inaccurate monitor reporting are likely to occur when these parameters are not specified. A lack of sufficient buffers causes these problems.
Avoiding Performance Degradation When Using the IMS Monitor
This article explains why the BLKSIZE and BUFNO DCB parameters should be specified on IMSMON DD statements in releases prior to IMS V7. Online system performance degradation and inaccurate monitor reporting are likely to occur when these parameters are not specified. A lack of sufficient buffers causes these problems. The defaults for BLKSIZE and BUFNO are changed when using dynamic allocation of the IMS Monitor data set in IMS V7. This makes it unnecessary to specify these parameters. Users of IMS V7 may ignore this flash if they use dynamic allocation for the IMS Monitor data set
If BLKSIZE is not specified on the IMSMON DD statement or the DFSMDA dynamic allocation statement, IMS releases prior to V7 use the minimum block size for the IMS monitor data set. This is true even when the data set has previously been created with a different block size. For DBCTL the minimum is 1048 bytes. For IMS TM the minimum is the larger of the long message logical record length plus 24 bytes or 1048 bytes. In all cases, the block size is rounded up to a multiple of 8 bytes.
Default values for block size and number of buffers in releases prior to V7 generally provide inadequate buffering. This often causes IMS to wait when attempting to write a monitor record. This wait is due to the lack of an available buffer. Larger block sizes and more buffers eliminate this bottleneck.
Insufficient buffering causes two problems:
- System performance is degraded when IMS waits for a buffer.The IMS Monitor reports do not accurately reflect normal system performance.
- The reports cover only the time when the monitor trace is degrading performance.
To avoid these potential problems the following is recommended when using IMS releases prior to V7.
- Always specify the BLKSIZE parameter. For DASD use half-track blocking. This is BLKSIZE=27992 for 3390s. For tape use a 32K block size. This is BLKSIZE=32768.
- Always specify the BUFNO parameter. Make the value at least 5. For systems doing over 100 transactions per second or with more than 10 concurrently executing BMPs specify a larger value. BUFNO=20 should be adequate for any system.
For example, one could use the following DD statement:
//IMSMON DD DSN=IMS.IMSMON,DCB=(BLKSIZE=27992,BUFNO=10),DISP=SHR
MS Monitor buffers reside in ECSA. The use of 10 buffers with a 27992 block size would require less than 280K of ECSA.
The dynamic allocation member for the IMS Monitor data set in IMS V7 has a default block size of 27992 for DASD and 32K for tape. It defaults to BUFNO of 5.
Author: Rich Lewis