Fields in the VSAM-Statistics report
The following example is a sample of a VSAM-Statistics report.
IMS MONITOR ****VSAM STATISTICS**** TRACE START 1989 076 12:42:54 TRACE STOP 1989 076 12:43:07 PAGE 0012
DL/I VSAM RET RET ISRT ISRT BFR BKG SYN USR NUR
PCBNAME DDNAME FUNC IWAITS RBA KEY ESDS KSDS ALT WTS PTS GETS SCHBFR FOUND READS WTS WTS
_______ ______ ____ _____ ___ ___ ____ ____ ___ ___ ___ ____ ______ _____ _____ ___ ___
DLVNTZ02 DBHVSAM2 STAT 1 1.00 0.00 0.00 0.00 1.00 0.00 1.00 1.00 0.00 1.00 0.00 1.00 0.00
DD TOTAL
__ _____ 1 1.00 0.00 0.00 0.00 1.00 0.00 1.00 1.00 0.00 1.00 0.00 1.00 0.00
HIDAM STAT 4 307.25 36.50 0.50 0.00 35.00 0.00 0.25 120.25 0.00 157.00 0.25 0.75 0.00
DD TOTAL
__ _____ 4 307.25 36.50 0.50 0.00 35.00 0.00 0.25 120.25 0.00 157.00 0.25 0.75 0.00
XDLBT04I GU 2 15.00 4.50 0.00 0.00 0.00 0.00 0.00 17.50 0.00 21.50 1.00 0.00 0.00
DD TOTAL
__ _____ 2 15.00 4.50 0.00 0.00 0.00 0.00 0.00 17.50 0.00 21.50 1.00 0.00 0.00
PCB TOTAL
___ _____ 7 180.00 22.14 0.28 0.00 20.14 0.00 0.28 73.85 0.00 96.00 0.42 0.57 0.00
DLVNTZX2 HIDAM GN 1 15.00 3.00 0.00 0.00 0.00 0.00 0.00 18.00 0.00 20.00 1.00 0.00 0.00
GU 1 1.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 1.00 0.00 0.00
DD TOTAL
__ _____ 2 8.00 1.50 0.00 0.00 0.00 0.00 0.00 9.50 0.00 10.00 1.00 0.00 0.00
DBHVSAM1 GU 8 0.00 0.12 12.75 520.00 7.50 0.00 0.00 0.12 0.00 0.00 0.87 0.00 0.00
DD TOTAL
__ _____ 8 0.00 0.12 12.75 520.00 7.50 0.00 0.00 0.12 0.00 0.00 0.87 0.00 0.00
XDLBT04I GU 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00
DD TOTAL
__ _____ 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00
DBHVSAM2 GU 3 0.66 0.00 0.00 0.00 0.00 0.00 0.00 0.66 0.00 0.00 1.00 0.00 0.00
DD TOTAL
__ _____ 3 0.66 0.00 0.00 0.00 0.00 0.00 0.00 0.66 0.00 0.00 1.00 0.00 0.00
PCB TOTAL
___ _____ 19 0.94 0.21 5.36 482.10 3.15 0.00 0.00 1.15 0.00 1.05 0.94 0.00 0.00
BATCH TOTAL
_____ _____ 26 49.15 6.11 3.84 83.07 3.11 0.00 0.07 20.73 0.00 26.61 0.80 0.15 0.00
The meaning of the various fields in the report is as follows:
- TRACE START and TRACE STOP
- The trace start and trace stop fields tell you the time when the
DB Monitor program was last started and stopped. The time is generated
by the time-of-day clock. Clock times are read as follows:
where:Clock time = hh.mm.ss
- hh
- Hours 0 through 23
- mm
- Minutes
- ss
- Seconds
If the DB Monitor was on during an entire batch run, the trace start and trace stop time is when the batch run started and stopped. If the DB Monitor was turned on and off more than once in the same batch run, the trace start and trace stop time is when the monitor was last started and stopped.
- PCBNAME
- This field describes the name of the PCB the report is providing information about. Remember that each application program has one or more PCBs. This field can only be used to identify which application program the report is providing information about if PCB names are unique to application programs.
- DDNAME
- This field describes the name of the data set the application program is using. Within one report, an application program (PCB) can access more than one data set. The statistics compiled are listed separately for each data set.
- DL/I FUNC
- This field describes the type of DL/I calls the application program issued.
- VSAM IWAITS
- This field describes, by type of DL/I call against a specific
data set, the number of times IMS had
to wait before processing could proceed. When IMS has to wait, it is almost always waiting
for an I/O operation to take place, that is, data is being either
read from the database to the buffer or written from the buffer back
to the database.
The numbers in each column under all remaining fields in the report are averages. They tell the average number of times an activity occurred rather than the specific number of times. Averages are for waits. These numbers are truncated. For example, a value of 0.019 is printed as 0.01.
- RET RBA
- This field describes how many retrieve by relative byte address
(RBA) calls were issued for this subpool. Retrieve by RBA calls are
calls issued internally by DL/I. One retrieve by RBA call is issued
for each direct-address pointer that must be followed in searching
for a segment. For example, a GN call for a dependent segment in an
HDAM or PHDAM database uses a series of RBA calls to search for the
dependent segment, one call for each direct-address pointer it follows.
One call from an application program can generate more than one retrieve by RBA call. The retrieve by RBA call might or might not require an I/O operation. Because the number in this field does not reflect the number of I/O operations to access a segment, do not use it to judge VSAM performance.
- RET KEY
- This field describes how many retrieve by key calls were issued
for this subpool. Retrieve by key calls are calls issued internally
by DL/I. The calls are issued to search a KSDS using a key as a qualification
(where key is equal to or greater than X). For example, a GU call
for a root segment in a HIDAM or PHIDAM database causes DL/I to issue
a retrieve by key call to access the index segment pointing to the
requested root segment.
One call from an application program can generate more than one retrieve by key calls. The retrieve by key calls might or might not require an I/O operation. Because the number in this field does not reflect the number of I/O operations to access a segment, do not use it to judge VSAM performance.
- ISRT ESDS
- This field describes how many of the logical records in your ESDS
that were previously empty now contain segments. When a dependent
segment is inserted into an ESDS in a HISAM, HIDAM or PHIDAM database,
the segment might not fit into a logical record that already contains
other segments. In this case, the segment is put into a new ESDS logical
record. When a dependent segment is inserted into a logical record
in an ESDS in a HISAM database, other segments in the same logical
record might need to be shifted into a new ESDS logical record to
make room for the segment being inserted.
Look at this field from one report to the next. It helps you determine when you are running out of logical records in the primary space you have allocated. It is best to avoid using logical records from secondary space because this space is probably not close to the primary space.
- ISRT KSDS
- This field describes how many of the logical records in your KSDS
that were previously empty now contain segments. HISAM databases use
a new logical record when a root segment is inserted. HIDAM and PHIDAM
index databases use a new logical record for the index segment created
when a root segment is inserted.
Look at this field from one report to the next. It helps you determine when you are running out of logical records in the primary space you have allocated. It is best to avoid using logical records from secondary space because this space is probably not close to the primary space. The distance between the two areas of space might cause extra seek time and therefore poor performance. In general, it is best to reorganize your database before you need to use secondary space.
- BFR ALT
- This field describes how many logical records, while in the buffer pool, were marked as altered. When a segment is inserted or replaced in a logical record, the logical record in the buffer is marked as altered until it is written back to the database.
- BKG WTS
- If you have specified use of the background write function, this
field tells how many times the function was used. Background write,
at intervals, writes buffers containing modified data back to the
database. It does this so buffers are available for use when an application
program needs them. Without background write, if an application program
wants to read data into a buffer that already contains modified data,
the application program has to wait while the contents of the buffer
are written back to the database. The number of times background
write was invoked is the same on each subpool report produced during
a given execution of the monitor. This is because, once involved,
background write writes buffers from all subpools.
Background write is specified in the BGWRT= operand of the OPTIONS statement for the DFSVSAMP or DFSVSMnn data set.
- SYN PTS
- This field describes how many times checkpoint calls were issued in DL/I programs while the monitor was on.
- GETS
- This field describes how many times VSAM GET calls were issued. VSAM GET calls are calls issued internally by DL/I. The GET call might be satisfied by data in the buffer pool or it might require that data be read into the buffer pool. Because the number in this field does not reflect the number of I/O operations required to access a segment, do not use it to judge VSAM performance.
- SCHBFR
- This field describes how many times the HD space management routine
issued calls to search for space in which to insert segments.
If, from one monitor report to the next, the number in this field is increasing, it means that space for storing new segments is not available in the most desirable location. Eventually, you must reorganize your database to improve performance. In reorganizing, pay special attention to the operands affecting database space (the BYTES operand in the RMNAME= keyword in the DBD statement and the fbff and fspf operands in the FRSPC= keyword in the DATA SET statement).
- FOUND
- This field describes how many times a logical record was found
in a CI that was already in the buffers. When this occurs, no I/O
operations are required to access the desired segments.
If you are trying to improve performance, increase the number of buffers you have allocated. If you increase the number of buffers, you can monitor this field to see if the number in it increases, which indicates improved performance.
- READS
- This field describes how many times a logical record was not found
in a CI that was already in the buffers. When this occurs, an I/O
operation is required to read the CI containing the logical record
into the buffer pool. Because performance is always better when fewer
I/O operations are performed, you might want to increase the number
of buffers you have specified to see how that affects the number in
this field. Specifying more buffers keeps more CIs (and therefore
logical records) in the buffer pool. There is a break-even point in
this process, however, where too many buffers are specified, and it
takes longer to search and maintain the buffers than it takes to read
a CI into the buffer.
The number of buffers is specified in the control statements for the DFSVSAMP or DFSVSMnn data sets.
- USR WTS
- This field, which indicates user writes, describes the number
of times DL/I issued a write request to write data to the database.
Write operations are issued when:
- A data set is closed. Database buffers containing data that has been altered by the data set being closed are written to the database.
- Abnormal termination occurs during application program processing. Database buffers containing data that has been altered are written to the database.
- The background write function is invoked. Selected database buffers containing data that has been altered are written to the database.
- A checkpoint call is issued. All altered database buffers are written to the database.
- NUR WTS
- This field, which indicates nonuser writes, tells how many times
a CI had to be read into a buffer containing a logical record with
altered data. When this happens, the buffer (because it contains altered
data) has to be written back to the database before the new CI can
be read into it. This means the application program has to wait while
the write operation takes place.
For best performance, ensure that the number in this field is close to zero. This can generally be achieved by turning on the background write function during batch processing and adjusting the number of buffers allocated.
- SCRS
- This field describes the total number of successful VSAM reads (MOVEPAGE and NON-MOVEPAGE) from hiperspace buffers.
- SCWS
- This field describes the total number of successful VSAM writes (MOVEPAGE and NON-MOVEPAGE) to hiperspace buffers.
- SCRF
- This field describes the number of times that a VSAM read request from hiperspace failed, resulting in a read from DASD.
- SCWF
- This field describes the number of times that a VSAM write request to hiperspace failed, resulting in a write to DASD.
- DD TOTAL
- This field describes, for a given data set, the overall average number of times an activity occurred (except for the VSAM CALLS field, which tells total number of times).
- PCB TOTAL
- This field describes, for a given PCB, the overall average number of times an activity occurred (except for the VSAM CALLS field, which tells total number of times).
- BATCH TOTAL
- This field describes, for the time the monitor was running, the overall average number of times an activity occurred (except for the VSAM CALLS field, which tells total number of times).