Seems a bit round-about. Why not REPRO them to a sequential file, sort by key, and then produce your output.
Sent from my iPhone > On Jan 5, 2018, at 4:20 PM, Arun Venkatratnam > <[email protected]> wrote: > > Hi All, > > We are looking to improve the performance of a COBOL program that processes 2 > VSAM files. The first file is the I/P file and every record read from the > input VSAM file is searched for a matching record in the other file and a > report is written. The program also applies some business rules while > comparing each matching record. > > The I/P file is read sequentially while the other file is read in a skip > sequential basis. The test files that were used had 32M records each while > production files have 110M records each. > > Attached is the strobe report from the execution of the test job. The test > job takes nearly 7 CPU minutes and was profiled to capture about 1 CPU minute > of execution time. > > We are attempting to optimize the VSAM access to these files as it is seen to > take more than 50% of the CPU consumed by this job. > > In the 'Attribution of CPU execution time' section, we see that the major > contributors are the components 'QSAM INIT I/O & EXITS' (Module IGZEQBL) and > PARTITION COMMUNICATION. > > Could you please help us understand: > > 1.What these components are > 2.Why is QSAM access used instead of VSAM I/O access. > 3.What needs to be done to reduce the CPU consumption by these components. > > Thank you > > Arun > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > 1Strobe* PERFORMANCE PROFILE PROGRAMA > 01/02/2018 PAGE 42 > > - #ACE ** ATTRIBUTION OF CPU EXECUTION > TIME ** > -.COBLIB IGZCPCO IGZEVIO VSAM INPUT/OUTPUT > > ---------------------------WAS INVOKED BY--------------------- > -----------------VIA----------------------- CPU TIME % > XACTION MODULE SECTION DESCRIPTION MODULE > SECTION DESCRIPTION SOLO TOTAL > > .LELIB CEEBINIT LE/370 BATCH INIT/TERM > .32 .32 > .LELIB CEEBINIT LE/370 BATCH INIT/TERM IGZEQBL > QSAM INIT I/O & EXITS 1.93 1.93 > > XACTION MODULE SECTION LOCATION LINE SOURCE TEXT MODULE > SECTION DESCRIPTION > > PROGRAMA PROGRAMA 003522 > 1.30 1.30 > > > ----- ----- > > > 3.55 3.55 > -.VSAM IDA019L1 VSAM RECORD MANAGEMENT > > ---------------------------WAS INVOKED BY--------------------- > -----------------VIA----------------------- CPU TIME % > XACTION MODULE SECTION DESCRIPTION MODULE > SECTION DESCRIPTION SOLO TOTAL > > .LELIB CEEBINIT LE/370 BATCH INIT/TERM IGZEQBL > QSAM INIT I/O & EXITS 1.84 1.84 > .LELIB CEEBINIT LE/370 BATCH INIT/TERM IGZEQBL > CURRMEM QSAM INIT I/O & EXITS 4.34 4.38 > .LELIB CEEBINIT LE/370 BATCH INIT/TERM IGZEQBL > DVFILE QSAM INIT I/O & EXITS .03 .03 > .LELIB CEEBINIT LE/370 BATCH INIT/TERM IGZEQBL > PREVMEM QSAM INIT I/O & EXITS 22.48 22.51 > > XACTION MODULE SECTION LOCATION LINE SOURCE TEXT MODULE > SECTION DESCRIPTION > > PROGRAMA PROGRAMA 003522 IGZCPCO > CURRMEM PARTITION COMMUNICATION 4.15 4.19 > PROGRAMA PROGRAMA 003522 IGZCPCO > IGZEVIO VSAM INPUT/OUTPUT .57 .57 > PROGRAMA PROGRAMA 003522 IGZCPCO > PREVMEM PARTITION COMMUNICATION 16.80 16.80 > > > ----- ----- > > > 50.22 50.32 > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
