Page 1 of 1

Performance Improvement

PostPosted: Thu Jul 15, 2010 7:07 pm
by gali prasad
Dear all,

My application handles large files both VSAM and flat files and basically its a reporting application.

After analysing jobs in the application, we identified some steps where its consuming lot of time and description of steps as below:
//S300     EXEC PGM=SORT
//TOMDS1   OUTPUT CLASS=&STND
//OUTTOM   OUTPUT CLASS=T,DEST=R0
//SYSOUT   DD SYSOUT=(,),
//             OUTPUT=(*.TOMDS1,*.OUTTOM)
//SORTIN   DD DSN= FLATFILE1,
//            DISP=SHR,BUFNO=60
//SORTOUT  DD DSN=FLATFILE2,
//            DISP=(NEW,CATLG,DELETE),
//            UNIT=CART,LABEL=EXPDT=99000,VOL=(,RETAIN,,99),
//            DCB=PRD.T.LRECL115
//*
//SYSIN    DD *
//SORT FIELDS=(101,09,CH,A,               
//              32,04,PD,A,               
//              15,02,PD,A,               
//              17,04,PD,A)               
//

In this case, flat file1 contains records of approxmately 26063674 and i feel that because of large input data, it takes lot of time to run.

Please can you suggest me the best way and any ideas to reduce run time. I thought of one idea where I can INREC field option that will reduce run time. And let me know your ideas pls.

Thankyou very much for your kind help.

Prasadg

Re: Performance Improvement

PostPosted: Thu Jul 15, 2010 7:43 pm
by steve-myers
Sorting, by its very nature, uses a lot of time. There isn't much you can do in JCL to improve its performance.

Look at the actual DCB parameters of the SORTIN and SORTOUT DD statements. Specifying BUFNO=60, as you have done, may improve the elapsed time a little, but sort does some things on its own to improve its time, and it could very well be ignoring your BUFNO=60. I would make sure the BLKSIZE assigned to the SORTOUT data set is as large as practical; sort won't ignore that.

The packed decimal data type you specify for some of your fields is the slowest comparison you can do. If you know, for an absolute fact, that all of the data is positive, use data type CH.

If you know the exact record count, specify it in the SORT control statement. Sort can use this to improve its performance.

Specify the largest possible REGION size on the EXEC or JOB statement. Sort can use this to improve its performance.

The sorting experts that lurk in the DFSORT or SYNCSORT areas may have other ideas that may be better than the generalized thoughts I can present here. Perhaps this should be transferred there.

Re: Performance Improvement

PostPosted: Thu Jul 15, 2010 10:25 pm
by gali prasad
Thankyou very much steve for your suggestion.

I will do testing on this as per your advice and also as you said, we will also have recommendations from experts regarding this.

Re: Performance Improvement

PostPosted: Fri Jul 16, 2010 12:24 am
by dick scherrer
Hello,

Which sort product is used on your system? If you post the informatonal messages from an execution of this sort, i'll move your topic to the part of the forum for that product. Also, the informational messages may help us provide a suggestion.

I thought of one idea where I can INREC field option that will reduce run time.
What might you do with inrec that would make the sort run faster. . .?

Is the entire file needed in the sorted output or only some parts of the original file? How many carts are created as output?

Re: Performance Improvement

PostPosted: Fri Jul 16, 2010 10:42 am
by gali prasad
Hello Dick,

Thanks for your response.

I will check what you have mentioned and will let you know and regarding required output fields on sorted file, I need to discuss with my team and will also let you know about this.

Re: Performance Improvement

PostPosted: Mon Jul 19, 2010 11:28 am
by gali prasad
Hello Dick,

The sort feature used is SYNCSORT and regarding files on output fields, still in a discussion.

Thankyou and let me know your views.

Re: Performance Improvement

PostPosted: Mon Jul 19, 2010 12:57 pm
by dick scherrer
Hello,

Once you provide more info, you will get more suggestions.