[Default] On 5 Jan 2018 16:28:48 -0800, in bit.listserv.ibm-main [email protected] (Arun Venkatratnam) 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. I assume using random access for the second file was tried with adequate buffering for index and data. BLSR or the more current means of doing random access buffering should have been used. It may also help to save any randomly read record that were read based on information in records from the second file based on the match with a record from the first file. Knowing access patterns can help in determining the best solution. Clark Morris > >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
