Performance tune of a Cobol program which uses MQ!!


Moderator: Moderator Group

Post Reply
User avatar
Posts: 8
Joined: Sat Jun 23, 2012 8:49 pm
Location: CHENNAI

Performance tune of a Cobol program which uses MQ!!

Post by chaitu566 » Thu Nov 29, 2012 8:03 pm


Good day!

I need suggestion on below issue, Please advise me..

One COBOL Program using MQ and it Executing for 25 to 30 mins everyday in Cycle run. This causing to performance issue.

Coming Issue, Program will use 1 PS file( This is a driver file), 2 VSAM files( One is Date file and another is Main file) and Have defined Control card with MQ name included in it. Every day Driver file will have 1 to 2 lakh records for processing thru MQ. JCL is taking 25 to 30mins to Complete.

To increase performance i have introduced a sort step before this program execution and reduced 50K to 70K records for processing, But there is time NO difference in the JCL execution. PLEASE SUGGEST ME ON THIS?

Here is my program flow,
:arrow: House Keeping:: Here Files will be open and Accepting System Date.
:arrow: Connect MQ
:arrow: Open MQ
:arrow: Read I/P file
:arrow: Main Processing
:arrow: Final Message
:arrow: COMMIT MQ
:arrow: Update Restart
:arrow: DB2 COMMIT
:arrow: Close MQ
:arrow: Disconnect MQ
:arrow: End of Prog

Let me if more details needed.
Please advice me to speed up the JCL execution..

Thank you!

Active Member
Posts: 650
Joined: Sun Jul 24, 2011 5:27 pm
Location: Down on the pig farm

Post by NicC » Fri Nov 30, 2012 1:28 am

Let's be clear (and pedantic) here: the JCL is finished before the JOB even starts.
25-30 minutes is not necessarily a long time - you are processing quite a few records - I don not know how many a lakh is - it is non-standard terminology - and you are using technologies that can take a bit of time to do what is being requested (SQL in DB2). Also, you do not say anything about the buffering that you use for your sequential file or blocksize or anything about your VSAM definitions. In fact - it could all be highly tuned or very untuned but you have notgiven any indications of how anything is tuned except that you have reduced your sequential (presumably) file by a number of records presumably by use of INCLUDE, EXCLUDE or OMIT in sort.

Posts: 1001
Joined: Fri Jul 22, 2011 8:39 am
Location: usa

Post by DikDude » Fri Nov 30, 2012 2:15 am

I believe what you have identified is that the 50-70k records removed were not contributing to the "excessive" run time. . .

Knowing the program flow is not nearly as important as knowing what the program is actually doing. How many records are being read/written in the qsam and vsam files? How many rows need to be "touched" in the database for the run or for individual iteratons? What does an EXPLAIN of the queries being used show?

Why does someone believe there is an issue with MQ?. What happens if you run an experiment where MQ is not used just to see the timing difference?
Have a good one

Post Reply


Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Mainframe Interview questions

Other References
Mainframe Tools and others