Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
Where is the JCL for the sort step ?
Where is the SYSOUT from the sort step ?
What is the DP of the job ?
- Is it slow batch, normal batch, hot batch. (Terms in use at my current site - but have been used elsewhere). Something you will need to check with your performance & capacity people, or systems programmers if the yare responsible for this.
What else is running against the job ? - Other processes may be running against your job slowing it down, especially if they have a higher DP than your job.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
rathin,
The DFSORT control statements are fine as far as performance goes. You're removing records before sorting them, which helps performance.
It may be that the amount of data requires that much processing time.
However, you might be able to make some changes that will help performance such as using optimum BLKSIZEs for the data sets, or tuning the sort in some way.
If you'd like me to have our performance expert take a look, add the following to your job to get diagnostic messages:
//SORTDIAG DD DUMMY
Then rerun it and send me the complete JES and DFSORT messages offline (yaeger@us.ibm.com). Put "DFSORT" in your Subject line to catch my attention.
Frank passed along your ouptuts so I could take a look at them. From a DFSORT tuning perspective, everything looks fine. You read in about 17.8 million records but only about 40 thousand are actually selected. So not much data is actually sorted and DFSORT was able to use Hiperspace for all of the intermediate storage. The input to the sort is coming from two tape data sets and I suspect the elapsed time is being gated by the speed of the tape drives. If the number of records selected is normally such a small percentage of the file, you might consider splitting this job as follows"
Job 1 reads tape input 1 using SORT FIELDS=COPY with your existing INCLUDE statement.
Job 2 runs concurrent to JOB 1 reading tape input 2. This also uses SORT FIELDS=COPY with your existing INCLUDE statement.
Job 3 sorts the small output files from Jobs 1 and 2 with your original sort fields - SORT FIELDS=(37,05,CH,A). This job can begin as soon as both JOB 1 and JOB 2 are complete.
This at least gets the reading of the two tape data sets to happen in parallel. We could have Jobs 1 and 2 sort the records and have Job 3 do a merge but since so few records are selected, I prefer Job 3 do the sort.