Page 1 of 1

Performance tuning JCL (Query)

PostPosted: Fri Apr 29, 2011 9:42 pm
by dibjot
Hi
My requirement was to invoke a java class using a JCL. The java class is fed data from a table. I used BPXBATCH utility to invoke the unix script which then calls the java class.
Now here is my question. I created 4 JCLs and 4 corresponding unix scripts. Each unix script inputs 1/4 of the entire data into the class. the 4 JCLs run in parallel. The purpose of doing this was to share the load among the 4 JCLs. However, when I see the results of the performance tests, it shows that out of all 4 only one has almost 99% of the CPU usage. Rest 3 have minimal to no CPU usage. I am not sure how and why this is happening. The 4 JCLs are executed independently, but simultaneously (or sometimes with a gap of 1/2 to 1 minute.) Each JCL feeds 1/4 of the entire data to the unix script which then goes to the java class. Each JCL however, calls the same class.

Re: Performance tuning JCL (Query)

PostPosted: Sun May 01, 2011 4:30 am
by BillyBoyo
Is it the same job each time that is using most of the CPU?

How much CPU are we talking about? How much data?

How is the data divided into quarters?

Do you have counts to confirm that each is processing 1/4 of data?

Re: Performance tuning JCL (Query)

PostPosted: Sun May 01, 2011 11:28 am
by NicC
Is each job writing to the same output file? If so then they can only run one at a time.

Re: Performance tuning JCL (Query)

PostPosted: Tue May 03, 2011 10:35 am
by dibjot
No, each job is writing a separate output file.
It is not the same job every time. Each time, one of the four jobs shows maximum CPU utilization.
There are a total of 250.000 records to be processed. This is then divided among 4 tables equally (62500 each)
Each of the 4 jobs then picks up data from their respective tables. All of them run in parallel or with a delayed start of 1-2 mins.
However, everytime one of the 4 shows maximum CPU utilization while others show negligible.

Thanks !