715
CICS ® Transaction Server for OS/390 ® CICS Performance Guide Release 3 SC33-1699-03

Cics Manual

  • Upload
    girleno

  • View
    425

  • Download
    8

Embed Size (px)

DESCRIPTION

Cics

Citation preview

  • CICS Transaction Server for OS/390

    CICS Performance GuideRelease 3

    SC33-1699-03

  • CICS Transaction Server for OS/390

    CICS Performance GuideRelease 3

    SC33-1699-03

  • Note!Before using this information and the product it supports, be sure to read the general information under Notices onpage xiii.

    Fourth edition (July 1999)

    This edition applies to Release 3 of CICS Transaction Server for OS/390, program number 5655-147, and to allsubsequent versions, releases, and modifications until otherwise indicated in new editions. Make sure you are usingthe correct edition for the level of the product.

    This edition replaces and makes obsolete the previous editions. The technical changes for this edition aresummarized under Summary of changes and are indicated by a vertical bar to the left of a change.

    Order publications through your IBM representative or the IBM branch office serving your locality. Publications arenot stocked at the address given below.

    At the back of this publication is a page entitled Sending your comments to IBM. If you want to make comments,but the methods described are not available to you, please address them to:

    IBM United Kingdom Laboratories, Information Development,Mail Point 095, Hursley Park, Winchester, Hampshire, England, SO21 2JN.

    When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in anyway it believes appropriate without incurring any obligation to you.

    Copyright International Business Machines Corporation 1983, 1999. All rights reserved.US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contractwith IBM Corp.

  • ContentsNotices . . . . . . . . . . . . . . xiiiProgramming Interface Information . . . . . . xivTrademarks . . . . . . . . . . . . . . xv

    Preface . . . . . . . . . . . . . . xviiWhat this book is about . . . . . . . . . . xvii

    Who this book is for . . . . . . . . . . xviiWhat you need to know to understand thisbook . . . . . . . . . . . . . . . xviiHow to use this book . . . . . . . . . xviiNotes on terminology . . . . . . . . . xvii

    Bibliography . . . . . . . . . . . . xixCICS Transaction Server for OS/390 . . . . . . xix

    CICS books for CICS Transaction Server forOS/390 . . . . . . . . . . . . . . xixCICSPlex SM books for CICS Transaction Serverfor OS/390 . . . . . . . . . . . . . xxOther CICS books . . . . . . . . . . . xx

    Books from related libraries . . . . . . . . . xxACF/VTAM . . . . . . . . . . . . . xxCICSPlex System Manager for MVS/ESA . . . xxDATABASE 2. . . . . . . . . . . . . xxDATABASE 2 Performance Monitor (DB2PM) . . xxDFSMS/MVS . . . . . . . . . . . . xxiIMS/ESA . . . . . . . . . . . . . . xxiMVS . . . . . . . . . . . . . . . xxiOS/390 RMF. . . . . . . . . . . . . xxiTivoli Performance Reporter for OS/390 . . . xxiNetView Performance Monitor (NPM) . . . . xxiTuning tools . . . . . . . . . . . . . xxiOthers . . . . . . . . . . . . . . . xxi

    Determining if a publication is current . . . . . xxii

    Summary of changes. . . . . . . . xxiiiChanges for CICS Transaction Server for OS/390Release 3 . . . . . . . . . . . . . . xxiiiChanges for CICS Transaction Server for OS/390Release 2 . . . . . . . . . . . . . . xxiv

    Changes for the CICS Transaction ServerRelease 1 edition . . . . . . . . . . . xxivChanges for the CICS/ESA 4.1 edition . . . . xxv

    Part 1. Setting performanceobjectives . . . . . . . . . . . . . 1Chapter 1. Establishing performanceobjectives . . . . . . . . . . . . . . 3Defining some terms. . . . . . . . . . . . 3Defining performance objectives and priorities . . . 4Analyzing the current workload . . . . . . . . 5Translating resource requirements into systemobjectives . . . . . . . . . . . . . . . 5

    Chapter 2. Gathering data forperformance objectives . . . . . . . . 7Requirements definition phase . . . . . . . . 7External design phase . . . . . . . . . . . 7Internal design phase . . . . . . . . . . . 7Coding and testing phase . . . . . . . . . . 8Post-development review . . . . . . . . . . 8Information supplied by end users . . . . . . . 8

    Chapter 3. Performance monitoring andreview . . . . . . . . . . . . . . . 11Deciding on monitoring activities and techniques. . 11Developing monitoring activities and techniques . . 12Planning the review process . . . . . . . . . 13When to review? . . . . . . . . . . . . 13

    Dynamic monitoring . . . . . . . . . . 13Daily monitoring . . . . . . . . . . . 14Weekly monitoring . . . . . . . . . . . 14Monthly monitoring . . . . . . . . . . 15

    Monitoring for the future . . . . . . . . . . 15Reviewing performance data . . . . . . . . 16Confirming that the system-oriented objectives arereasonable . . . . . . . . . . . . . . . 16Typical review questions . . . . . . . . . . 17Anticipating and monitoring system changes andgrowth . . . . . . . . . . . . . . . . 19

    Part 2. Tools that measure theperformance of CICS. . . . . . . . 21

    Chapter 4. An overview ofperformance-measurement tools . . . 23CICS performance data . . . . . . . . . . 24

    CICS statistics . . . . . . . . . . . . 24The CICS monitoring facility . . . . . . . 24The sample statistics program (DFH0STAT). . . 25CICS trace facilities . . . . . . . . . . . 26Other CICS data . . . . . . . . . . . . 26

    Operating system performance data . . . . . . 27System management facility (SMF) . . . . . 27Resource measurement facility (RMF). . . . . 27Generalized trace facility (GTF) . . . . . . . 29GTF reports . . . . . . . . . . . . . 30Tivoli Performance Reporter for OS/390 . . . . 31

    Performance data for other products . . . . . . 32ACF/VTAM . . . . . . . . . . . . . 32Virtual telecommunication access method(VTAM) trace . . . . . . . . . . . . . 32Network performance, analysis, and reportingsystem (NETPARS) . . . . . . . . . . . 32VTAM performance, analysis, and reportingsystem II (VTAMPARS II). . . . . . . . . 33Generalized performance analysis reporting(GPAR) . . . . . . . . . . . . . . . 33

    Copyright IBM Corp. 1983, 1999 iii

    |||

    ||

  • VTAM storage management (SMS) trace . . . . 33VTAM tuning statistics . . . . . . . . . 33NetView for MVS . . . . . . . . . . . 33NetView performance monitor (NPM) . . . . 34LISTCAT (VSAM) . . . . . . . . . . . 34DB monitor (IMS) . . . . . . . . . . . 35Program isolation (PI) trace . . . . . . . . 35IMS System Utilities/Database Tools (DBT). . . 35IMS monitor summary and system analysis II(IMSASAP II) . . . . . . . . . . . . . 36DATABASE 2 Performance Monitor (DB2PM) . . 36Teleprocessing network simulator (TPNS) . . . 37

    Chapter 5. Using CICS statistics . . . . 39Introduction to CICS statistics . . . . . . . . 39

    Types of statistics data. . . . . . . . . . 39Resetting statistics counters . . . . . . . . 43

    Processing CICS statistics . . . . . . . . . . 45Interpreting CICS statistics . . . . . . . . . 45Statistics domain statistics . . . . . . . . . 46Transaction manager statistics . . . . . . . . 46Transaction class (TRANCLASS) statistics . . . . 47CICS DB2 statistics . . . . . . . . . . . . 47Dispatcher statistics . . . . . . . . . . . 47

    TCB statistics . . . . . . . . . . . . . 47Storage manager statistics . . . . . . . . . 48Loader statistics . . . . . . . . . . . . . 49Temporary storage statistics . . . . . . . . . 49Transient data statistics . . . . . . . . . . 50User domain statistics . . . . . . . . . . . 50VTAM statistics . . . . . . . . . . . . . 51Dump statistics . . . . . . . . . . . . . 53Enqueue statistics . . . . . . . . . . . . 53Transaction statistics . . . . . . . . . . . 53Program statistics . . . . . . . . . . . . 53Front end programming interface (FEPI) statistics . 54File statistics . . . . . . . . . . . . . . 54Journalname and log stream statistics. . . . . . 55LSRPOOL statistics . . . . . . . . . . . . 56Recovery manager statistics . . . . . . . . . 56Terminal statistics . . . . . . . . . . . . 57ISC/IRC system and mode entry statistics . . . . 57

    Summary connection type for statistics fields . . 57General guidance for interpreting ISC/IRCstatistics . . . . . . . . . . . . . . 58Are enough sessions defined? . . . . . . . 59Is the balance of contention winners tocontention losers correct? . . . . . . . . . 60Is there conflicting usage of APPC modegroups? 61What if there are unusually high numbers in thestatistics report? . . . . . . . . . . . . 62

    ISC/IRC attach time entries . . . . . . . . . 63Shared temporary storage queue server statistics . . 64Coupling facility data tables server statistics . . . 64Named counter sequence number server statistics 64

    Chapter 6. The CICS monitoring facility 65Introduction to CICS monitoring . . . . . . . 65The classes of monitoring data . . . . . . . . 65

    Performance class data . . . . . . . . . 65Exception class data . . . . . . . . . . 66

    The SYSEVENT class of monitoring data . . . 67CICS Monitoring Facility (CMF) and the MVSworkload manager . . . . . . . . . . . 67

    Using CICS monitoring SYSEVENT informationwith RMF . . . . . . . . . . . . . . . 67

    CICS usage of RMF transaction reporting . . . 67CICS monitoring facility use of SYSEVENT . . . 67MVS IEAICS member . . . . . . . . . . 68ERBRMF member for Monitor I session . . . . 69ERBRMF member for Monitor II session. . . . 69RMF operations . . . . . . . . . . . . 69

    Using the CICS monitoring facility with TivoliPerformance Reporter for OS/390 . . . . . . . 69Event monitoring points . . . . . . . . . . 69The monitoring control table (MCT) . . . . . . 71

    DFHMCT TYPE=EMP . . . . . . . . . . 71DFHMCT TYPE=RECORD . . . . . . . . 71

    Controlling CICS monitoring . . . . . . . . 72Processing of CICS monitoring facility output . . . 72Performance implications . . . . . . . . . . 73Interpreting CICS monitoring . . . . . . . . 73

    Clocks and time stamps . . . . . . . . . 73Performance class data . . . . . . . . . 74Performance data in group DFHCBTS . . . . 83Performance data in group DFHCICS. . . . . 84Performance data in group DFHDATA . . . . 86Performance data in group DFHDEST . . . . 87Performance data in group DFHDOCH . . . . 87Performance data in group DFHFEPI . . . . . 87Performance data in group DFHFILE . . . . . 88Performance data in group DFHJOUR . . . . 90Performance data in group DFHMAPP . . . . 90Performance data in group DFHPROG . . . . 90Performance data in group DFHSOCK . . . . 92Performance data in group DFHSTOR . . . . 92Performance data in group DFHSYNC . . . . 95Performance data in group DFHTASK . . . . 95Performance data in group DFHTEMP . . . . 103Performance data in group DFHTERM . . . . 104Performance data in group DFHWEBB . . . . 106

    Exception class data . . . . . . . . . . . 107Exception data field descriptions . . . . . . 108

    Chapter 7. Tivoli PerformanceReporter for OS/390 . . . . . . . . 113Overview. . . . . . . . . . . . . . . 113Using Tivoli Performance Reporter for OS/390 toreport on CICS performance . . . . . . . . 115

    Monitoring response time . . . . . . . . 115Monitoring processor and storage use . . . . 116Monitoring volumes and throughput . . . . 116Combining CICS and DB2 performance data . . 117Monitoring exception and incident data . . . 118Unit-of-work reporting . . . . . . . . . 119Monitoring availability . . . . . . . . . 119Monitoring SYSEVENT data . . . . . . . 119

    Chapter 8. Managing Workloads . . . 123MVS workload manager. . . . . . . . . . 123

    Benefits of using MVS Workload Manager. . . 123

    iv CICS TS for OS/390: CICS Performance Guide

    ||

    ||||

    |||

    ||||||

    ||

    ||

  • MVS workload management terms . . . . . 124Requirements for MVS workload management 125Resource usage . . . . . . . . . . . . 125Span of workload manager operation . . . . 125Defining performance goals . . . . . . . 126Setting up service definitions . . . . . . . 127Guidelines for classifying CICS transactions . . 131Using a service definition base . . . . . . 131Using MVS workload manager . . . . . . 131

    CICSPlex SM workload management . . . . . 133Benefits of using CICSPlex SM workloadmanagement . . . . . . . . . . . . 133Using CICSPlex SM workload management . . 134

    Chapter 9. Understanding RMFworkload manager data . . . . . . . 135Explanation of terms used in RMF reports. . . . 135

    The response time breakdown in percentagesection . . . . . . . . . . . . . . 135The state section . . . . . . . . . . . 137

    Interpreting the RMF workload activity data . . . 137RMF reporting intervals . . . . . . . . . 137

    Example: very large percentages in the responsetime breakdown . . . . . . . . . . . . 140

    Possible explanations . . . . . . . . . . 141Possible actions. . . . . . . . . . . . 142

    Example: response time breakdown data is all zero 142Possible explanations . . . . . . . . . . 143Possible actions. . . . . . . . . . . . 143

    Example: execution time greater than responsetime . . . . . . . . . . . . . . . . 144

    Possible explanation . . . . . . . . . . 144Possible actions. . . . . . . . . . . . 144

    Example: large SWITCH LOCAL Time in CICSexecution phase . . . . . . . . . . . . 144

    Possible explanations . . . . . . . . . . 145Possible actions. . . . . . . . . . . . 145

    Example: fewer ended transactions with increasedresponse times . . . . . . . . . . . . . 145

    Possible explanation . . . . . . . . . . 145Possible action . . . . . . . . . . . . 145

    Part 3. Analyzing the performanceof a CICS system . . . . . . . . . 147

    Chapter 10. Overview of performanceanalysis. . . . . . . . . . . . . . 149Establishing a measurement and evaluation plan 150Investigating the overall system . . . . . . . 152Other ways to analyze performance . . . . . . 153

    Chapter 11. Identifying CICSconstraints . . . . . . . . . . . . 155Major CICS constraints . . . . . . . . . . 155Response times . . . . . . . . . . . . . 156Storage stress . . . . . . . . . . . . . 157

    Controlling storage stress . . . . . . . . 158Short-on-storage condition . . . . . . . . 158Purging of tasks . . . . . . . . . . . 159

    CICS hang . . . . . . . . . . . . . 159Effect of program loading on CICS . . . . . . 159What is paging? . . . . . . . . . . . . 159

    Paging problems . . . . . . . . . . . 160Recovery from storage violation . . . . . . . 161Dealing with limit conditions . . . . . . . . 161Identifying performance constraints . . . . . . 162

    Hardware constraints. . . . . . . . . . 162Software constraints . . . . . . . . . . 163

    Resource contention . . . . . . . . . . . 164Solutions for poor response time . . . . . . . 165Symptoms and solutions for resource contentionproblems . . . . . . . . . . . . . . . 166

    DASD constraint . . . . . . . . . . . 167Communications network constraint. . . . . 167Remote systems constraints. . . . . . . . 167Virtual storage constraint . . . . . . . . 167Real storage constraint . . . . . . . . . 168Processor cycles constraint . . . . . . . . 168

    Chapter 12. CICS performanceanalysis. . . . . . . . . . . . . . 169Assessing the performance of a DB/DC system 169

    System conditions . . . . . . . . . . . 170Application conditions . . . . . . . . . 170

    Methods of performance analysis. . . . . . . 170Full-load measurement . . . . . . . . . . 171

    CICS auxiliary trace . . . . . . . . . . 171RMF . . . . . . . . . . . . . . . 172Comparison charts . . . . . . . . . . 173

    Single-transaction measurement . . . . . . . 174CICS auxiliary trace . . . . . . . . . . 175

    Chapter 13. Tuning the system . . . . 177Determining acceptable tuning trade-offs . . . . 177Making the change to the system. . . . . . . 177Reviewing the results of tuning . . . . . . . 178

    Part 4. Improving the performanceof a CICS system . . . . . . . . . 179

    Chapter 14. Performance checklists 181Input/output contention checklist . . . . . . 181Virtual storage above and below 16MB linechecklist . . . . . . . . . . . . . . . 182Real storage checklist. . . . . . . . . . . 183Processor cycles checklist . . . . . . . . . 184

    Chapter 15. MVS and DASD . . . . . 187Tuning CICS and MVS . . . . . . . . . . 187

    Reducing MVS common system arearequirements . . . . . . . . . . . . 189

    Splitting online systems: availability . . . . . . 189Limitations . . . . . . . . . . . . . 190Recommendations . . . . . . . . . . . 190

    Making CICS nonswappable . . . . . . . . 190How implemented . . . . . . . . . . 190Limitations . . . . . . . . . . . . . 190How monitored . . . . . . . . . . . 190

    Contents v

    |||||||

  • Isolating (fencing) real storage for CICS (PWSS andPPGRTR) . . . . . . . . . . . . . . . 190

    Recommendations . . . . . . . . . . . 191How implemented . . . . . . . . . . 191How monitored . . . . . . . . . . . 191

    Increasing the CICS region size . . . . . . . 192How implemented . . . . . . . . . . 192How monitored . . . . . . . . . . . 192

    Giving CICS a high dispatching priority orperformance group . . . . . . . . . . . 192

    How implemented . . . . . . . . . . 193How monitored . . . . . . . . . . . 193

    Using job initiators . . . . . . . . . . . 193Effects . . . . . . . . . . . . . . . 194Limitations . . . . . . . . . . . . . 194How implemented . . . . . . . . . . 194How monitored . . . . . . . . . . . 194

    Region exit interval (ICV) . . . . . . . . . 194Main effect . . . . . . . . . . . . . 195Secondary effects . . . . . . . . . . . 195Where useful . . . . . . . . . . . . 196Limitations . . . . . . . . . . . . . 196Recommendations . . . . . . . . . . . 196How implemented . . . . . . . . . . 197How monitored . . . . . . . . . . . 197

    Use of LLA (MVS library lookaside) . . . . . . 197Effects of LLACOPY . . . . . . . . . . 198The SIT Parameter LLACOPY . . . . . . . 198

    DASD tuning . . . . . . . . . . . . . 199Reducing the number of I/O operations . . . 199Tuning the I/O operations . . . . . . . . 199Balancing I/O operations . . . . . . . . 200

    Chapter 16. Networking and VTAM 201Terminal input/output area (TYPETERMIOAREALEN or TCT TIOAL) . . . . . . . . 201

    Effects . . . . . . . . . . . . . . . 201Limitations . . . . . . . . . . . . . 202Recommendations . . . . . . . . . . . 202How implemented . . . . . . . . . . 203How monitored . . . . . . . . . . . 203

    Receive-any input areas (RAMAX) . . . . . . 203Effects . . . . . . . . . . . . . . . 203Where useful . . . . . . . . . . . . 204Limitations . . . . . . . . . . . . . 204Recommendations . . . . . . . . . . . 204How implemented . . . . . . . . . . 204How monitored . . . . . . . . . . . 204

    Receive-any pool (RAPOOL) . . . . . . . . 204Effects . . . . . . . . . . . . . . . 205Where useful . . . . . . . . . . . . 205Limitations . . . . . . . . . . . . . 205Recommendations . . . . . . . . . . . 206How implemented . . . . . . . . . . 206How monitored . . . . . . . . . . . 206

    High performance option (HPO) with VTAM. . . 207Effects . . . . . . . . . . . . . . . 207Limitations . . . . . . . . . . . . . 207Recommendations . . . . . . . . . . . 207How implemented . . . . . . . . . . 207How monitored . . . . . . . . . . . 207

    SNA transaction flows (MSGINTEG, andONEWTE) . . . . . . . . . . . . . . 208

    Effects . . . . . . . . . . . . . . . 208Where useful . . . . . . . . . . . . 208Limitations . . . . . . . . . . . . . 208How implemented . . . . . . . . . . 209How monitored . . . . . . . . . . . 209

    SNA chaining (TYPETERM RECEIVESIZE,BUILDCHAIN, and SENDSIZE) . . . . . . . 209

    Effects . . . . . . . . . . . . . . . 209Where useful . . . . . . . . . . . . 210Limitations . . . . . . . . . . . . . 210Recommendations . . . . . . . . . . . 210How implemented . . . . . . . . . . 210How monitored . . . . . . . . . . . 210

    Number of concurrent logon/logoff requests(OPNDLIM) . . . . . . . . . . . . . . 210

    Effects . . . . . . . . . . . . . . . 211Where useful . . . . . . . . . . . . 211Limitations . . . . . . . . . . . . . 211Recommendations . . . . . . . . . . . 211How implemented. . . . . . . . . . . 211How monitored . . . . . . . . . . . 211

    Terminal scan delay (ICVTSD) . . . . . . . . 211Effects . . . . . . . . . . . . . . . 212Where useful . . . . . . . . . . . . 213Limitations . . . . . . . . . . . . . 213Recommendations . . . . . . . . . . . 213How implemented . . . . . . . . . . 214How monitored . . . . . . . . . . . 214

    Negative poll delay (NPDELAY) . . . . . . . 214NPDELAY and unsolicited-input messages inTCAM. . . . . . . . . . . . . . . 214Effects . . . . . . . . . . . . . . . 214Where useful . . . . . . . . . . . . 215

    Compression of output terminal data streams . . 215Limitations . . . . . . . . . . . . . 215Recommendations . . . . . . . . . . . 215How implemented . . . . . . . . . . 216How monitored . . . . . . . . . . . 216

    Automatic installation of terminals . . . . . . 216Maximum concurrent autoinstalls (AIQMAX) 216The restart delay parameter (AIRDELAY) . . . 216The delete delay parameter (AILDELAY) . . . 217Effects . . . . . . . . . . . . . . . 218Recommendations . . . . . . . . . . . 218How monitored . . . . . . . . . . . 219

    Chapter 17. CICS Web support . . . . 221CICS Web performance in a sysplex . . . . . . 221CICS Web support performance in a single addressspace . . . . . . . . . . . . . . . . 222CICS Web use of DOCTEMPLATE resources . . . 222CICS Web support use of temporary storage . . . 223CICS Web support of HTTP 1.0 persistentconnections . . . . . . . . . . . . . . 223CICS Web security. . . . . . . . . . . . 223CICS Web 3270 support . . . . . . . . . . 223Secure sockets layer support . . . . . . . . 224

    Chapter 18. VSAM and file control . . 225vi CICS TS for OS/390: CICS Performance Guide

    ||||||||||||||||||||

  • VSAM considerations: general objectives . . . . 225Local shared resources (LSR) or Nonsharedresources (NSR) . . . . . . . . . . . 225Number of strings . . . . . . . . . . . 227Size of control intervals . . . . . . . . . 229Number of buffers (NSR) . . . . . . . . 230Number of buffers (LSR) . . . . . . . . 230CICS calculation of LSR pool parameters . . . 231Data set name sharing . . . . . . . . . 232AIX considerations . . . . . . . . . . 233Situations that cause extra physical I/O . . . 233Other VSAM definition parameters . . . . . 234

    VSAM resource usage (LSRPOOL) . . . . . . 234Effects . . . . . . . . . . . . . . . 234Where useful . . . . . . . . . . . . 234Limitations . . . . . . . . . . . . . 234Recommendations . . . . . . . . . . . 234How implemented . . . . . . . . . . 234

    VSAM buffer allocations for NSR (INDEXBUFFERSand DATABUFFERS) . . . . . . . . . . . 235

    Effects . . . . . . . . . . . . . . . 235Where useful . . . . . . . . . . . . 235Limitations . . . . . . . . . . . . . 235Recommendations . . . . . . . . . . . 235How implemented . . . . . . . . . . 235How monitored . . . . . . . . . . . 236

    VSAM buffer allocations for LSR . . . . . . . 236Effects . . . . . . . . . . . . . . . 236Where useful . . . . . . . . . . . . 236Recommendations . . . . . . . . . . . 236How implemented . . . . . . . . . . 236How monitored . . . . . . . . . . . 236

    VSAM string settings for NSR (STRINGS) . . . . 237Effects . . . . . . . . . . . . . . . 237Where useful . . . . . . . . . . . . 237Limitations . . . . . . . . . . . . . 237Recommendations . . . . . . . . . . . 237How implemented . . . . . . . . . . 237How monitored . . . . . . . . . . . 237

    VSAM string settings for LSR (STRINGS) . . . . 238Effects . . . . . . . . . . . . . . . 238Where useful . . . . . . . . . . . . 238Limitations . . . . . . . . . . . . . 238Recommendations . . . . . . . . . . . 238How implemented . . . . . . . . . . 238How monitored . . . . . . . . . . . 238

    Maximum keylength for LSR (KEYLENGTH andMAXKEYLENGTH) . . . . . . . . . . . 239

    Effects . . . . . . . . . . . . . . . 239Where useful . . . . . . . . . . . . 239Recommendations . . . . . . . . . . . 239How implemented . . . . . . . . . . 239

    Resource percentile for LSR (SHARELIMIT) . . . 239Effects . . . . . . . . . . . . . . . 239Where useful . . . . . . . . . . . . 240Recommendations . . . . . . . . . . . 240How implemented . . . . . . . . . . 240

    VSAM local shared resources (LSR) . . . . . . 240Effects . . . . . . . . . . . . . . . 240Where useful . . . . . . . . . . . . 240Recommendations . . . . . . . . . . . 240

    How implemented . . . . . . . . . . 240How monitored . . . . . . . . . . . 240

    Hiperspace buffers . . . . . . . . . . . 240Effects . . . . . . . . . . . . . . . 241Limitations . . . . . . . . . . . . . 241Recommendations . . . . . . . . . . . 241How implemented . . . . . . . . . . 241

    Subtasking: VSAM (SUBTSKS=1) . . . . . . . 241Effects . . . . . . . . . . . . . . . 242Where useful . . . . . . . . . . . . 243Limitations . . . . . . . . . . . . . 243Recommendations . . . . . . . . . . . 243How implemented . . . . . . . . . . 244How monitored . . . . . . . . . . . 244

    Data tables . . . . . . . . . . . . . . 244Effects . . . . . . . . . . . . . . . 244Recommendations . . . . . . . . . . . 244How implemented . . . . . . . . . . 245How monitored . . . . . . . . . . . 245

    Coupling facility data tables . . . . . . . . 245Locking model . . . . . . . . . . . . 247Contention model . . . . . . . . . . . 247Effects . . . . . . . . . . . . . . . 248Recommendations . . . . . . . . . . . 248How implemented . . . . . . . . . . 249How monitored . . . . . . . . . . . 249CFDT statistics . . . . . . . . . . . . 250RMF reports . . . . . . . . . . . . . 251

    VSAM record-level sharing (RLS). . . . . . . 251Effects . . . . . . . . . . . . . . . 252How implemented . . . . . . . . . . 253How monitored . . . . . . . . . . . 254

    Chapter 19. Java program objects . . 255Overview. . . . . . . . . . . . . . . 255Performance considerations. . . . . . . . . 255

    DLL initialization . . . . . . . . . . . 255LE runtime options . . . . . . . . . . 256API costs . . . . . . . . . . . . . . 257CICS system storage . . . . . . . . . . 257

    Workload balancing of IIOP method call requests 258CICS dynamic program routing . . . . . . 258TCP/IP port sharing . . . . . . . . . . 258Dynamic domain name server registration forTCP/IP . . . . . . . . . . . . . . 258

    Chapter 20. Java virtual machine(JVM) programs . . . . . . . . . . 259Overview. . . . . . . . . . . . . . . 259Performance considerations. . . . . . . . . 259

    Storage usage . . . . . . . . . . . . 260How monitored . . . . . . . . . . . . 261

    Chapter 21. Database management 263DBCTL minimum threads (MINTHRD). . . . . 263

    Effects . . . . . . . . . . . . . . . 263Where useful . . . . . . . . . . . . 263Limitations . . . . . . . . . . . . . 263Implementation . . . . . . . . . . . 263How monitored . . . . . . . . . . . 264

    Contents vii

    ||

    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

  • DBCTL maximum threads (MAXTHRD) . . . . 264Effects . . . . . . . . . . . . . . . 264Where useful . . . . . . . . . . . . 264Limitations . . . . . . . . . . . . . 264Implementation . . . . . . . . . . . 264How monitored . . . . . . . . . . . 264

    DBCTL DEDB parameters (CNBA, FPBUF, FPBOF) 264Where useful . . . . . . . . . . . . 265Recommendations . . . . . . . . . . . 265How implemented . . . . . . . . . . 266How monitored . . . . . . . . . . . 266

    CICS DB2 attachment facility . . . . . . . . 266Effects . . . . . . . . . . . . . . . 267Where useful . . . . . . . . . . . . 267How implemented . . . . . . . . . . 267How monitored . . . . . . . . . . . 267

    CICS DB2 attachment facility (TCBLIMIT, andTHREADLIMIT) . . . . . . . . . . . . 268

    Effect . . . . . . . . . . . . . . . 268Limitations . . . . . . . . . . . . . 268Recommendations . . . . . . . . . . . 268How monitored . . . . . . . . . . . 269

    CICS DB2 attachment facility (PRIORITY) . . . . 269Effects . . . . . . . . . . . . . . . 269Where useful . . . . . . . . . . . . 269Limitations . . . . . . . . . . . . . 269Recommendations . . . . . . . . . . . 269How implemented . . . . . . . . . . 269How monitored . . . . . . . . . . . 269

    Chapter 22. Logging and journaling 271Coupling facility or DASD-only logging? . . . . 271

    Integrated coupling migration facility . . . . 271Monitoring the logger environment . . . . . . 271Average blocksize . . . . . . . . . . . . 273Number of log streams in the CF structure . . . 274

    AVGBUFSIZE and MAXBUFSIZE parameters 274Recommendations . . . . . . . . . . . 275Limitations . . . . . . . . . . . . . 275How implemented . . . . . . . . . . 276How monitored . . . . . . . . . . . 276

    LOWOFFLOAD and HIGHOFFLOAD parameterson log stream definition . . . . . . . . . . 276

    Recommendations . . . . . . . . . . . 277How implemented . . . . . . . . . . 278How monitored . . . . . . . . . . . 278

    Staging data sets . . . . . . . . . . . . 278Recommendations . . . . . . . . . . . 279

    Activity keypoint frequency (AKPFREQ) . . . . 279Limitations . . . . . . . . . . . . . 280Recommendations . . . . . . . . . . . 281How implemented . . . . . . . . . . 281How monitored . . . . . . . . . . . 281

    DASD-only logging . . . . . . . . . . . 281

    Chapter 23. Virtual and real storage 283Tuning CICS virtual storage . . . . . . . . 283Splitting online systems: virtual storage . . . . 284

    Where useful . . . . . . . . . . . . 285Limitations . . . . . . . . . . . . . 285Recommendations . . . . . . . . . . . 286

    How implemented . . . . . . . . . . 286Maximum task specification (MXT) . . . . . . 287

    Effects . . . . . . . . . . . . . . . 287Limitations . . . . . . . . . . . . . 287Recommendations . . . . . . . . . . . 287How implemented . . . . . . . . . . 288How monitored . . . . . . . . . . . 288

    Transaction class (MAXACTIVE) . . . . . . . 288Effects . . . . . . . . . . . . . . . 288Limitations . . . . . . . . . . . . . 288Recommendations . . . . . . . . . . . 288How implemented . . . . . . . . . . 289How monitored . . . . . . . . . . . 289

    Transaction class purge threshold(PURGETHRESH) . . . . . . . . . . . . 289

    Effects . . . . . . . . . . . . . . . 290Where useful . . . . . . . . . . . . 290Recommendations . . . . . . . . . . . 290How implemented . . . . . . . . . . 290How monitored . . . . . . . . . . . 290

    Task prioritization . . . . . . . . . . . . 291Effects . . . . . . . . . . . . . . . 291Where useful . . . . . . . . . . . . 292Limitations . . . . . . . . . . . . . 292Recommendations . . . . . . . . . . . 292How implemented . . . . . . . . . . 293How monitored . . . . . . . . . . . 293Simplifying the definition of CICS dynamicstorage areas . . . . . . . . . . . . 293Extended dynamic storage areas . . . . . . 294Dynamic storage areas(below the line) . . . . 295

    Using modules in the link pack area (LPA/ELPA) 297Effects . . . . . . . . . . . . . . . 297Limitations . . . . . . . . . . . . . 297Recommendations . . . . . . . . . . . 297How implemented . . . . . . . . . . 298

    Map alignment . . . . . . . . . . . . . 298Effects . . . . . . . . . . . . . . . 298Limitations . . . . . . . . . . . . . 298How implemented . . . . . . . . . . 299How monitored . . . . . . . . . . . 299

    Resident, nonresident, and transient programs . . 299Effects . . . . . . . . . . . . . . . 299Recommendations . . . . . . . . . . . 300How monitored . . . . . . . . . . . 300

    Putting application programs above the 16MB line 300Effects . . . . . . . . . . . . . . . 300Where useful . . . . . . . . . . . . 301Limitations . . . . . . . . . . . . . 301How implemented . . . . . . . . . . 301

    Transaction isolation and real storage requirements 301Limiting the expansion of subpool 229 usingVTAM pacing . . . . . . . . . . . . . 302

    Recommendations . . . . . . . . . . . 302How implemented . . . . . . . . . . 303

    Chapter 24. MRO and ISC . . . . . . 305CICS intercommunication facilities . . . . . . 305

    Limitations . . . . . . . . . . . . . 306How implemented . . . . . . . . . . 306How monitored . . . . . . . . . . . 307

    viii CICS TS for OS/390: CICS Performance Guide

  • Intersystems session queue management . . . . 307Relevant statistics . . . . . . . . . . . 307Ways of approaching the problem andrecommendations . . . . . . . . . . . 308Monitoring the settings . . . . . . . . . 309

    Using transaction classes DFHTCLSX andDFHTCLQ2 . . . . . . . . . . . . . . 309

    Effects . . . . . . . . . . . . . . . 309How implemented . . . . . . . . . . 309

    Terminal input/output area (SESSIONSIOAREALEN) for MRO sessions . . . . . . . 310

    Effects . . . . . . . . . . . . . . . 310Where useful . . . . . . . . . . . . 310Limitations . . . . . . . . . . . . . 310Recommendations . . . . . . . . . . . 310How implemented . . . . . . . . . . 310

    Batching requests (MROBTCH) . . . . . . . 311Effects . . . . . . . . . . . . . . . 311Recommendations . . . . . . . . . . . 311

    Extending the life of mirror transactions(MROLRM) . . . . . . . . . . . . . . 312Deletion of shipped terminal definitions(DSHIPINT and DSHIPIDL) . . . . . . . . 312

    Effects . . . . . . . . . . . . . . . 313Where useful . . . . . . . . . . . . 313Limitations . . . . . . . . . . . . . 313Recommendations . . . . . . . . . . . 313How implemented . . . . . . . . . . 314How monitored . . . . . . . . . . . 314

    Chapter 25. Programmingconsiderations . . . . . . . . . . . 315BMS map suffixing and the device-dependentsuffix option. . . . . . . . . . . . . . 315

    Effects . . . . . . . . . . . . . . . 315Recommendation . . . . . . . . . . . 315How implemented . . . . . . . . . . 315How monitored . . . . . . . . . . . 315

    COBOL RESIDENT option . . . . . . . . . 316Effects . . . . . . . . . . . . . . . 316Limitations . . . . . . . . . . . . . 317Recommendations . . . . . . . . . . . 317How implemented . . . . . . . . . . 317How monitored . . . . . . . . . . . 317

    PL/I shared library . . . . . . . . . . . 317How implemented . . . . . . . . . . 318How monitored . . . . . . . . . . . 318

    VS COBOL II . . . . . . . . . . . . . 318How implemented . . . . . . . . . . 318How monitored . . . . . . . . . . . 318

    Language Environment (LE) . . . . . . . . 318LE run time options for AMODE (24) programs 319Using DLLs in C++ . . . . . . . . . . 319

    Chapter 26. CICS facilities . . . . . . 321CICS temporary storage (TS) . . . . . . . . 321

    Effects . . . . . . . . . . . . . . . 321Limitations . . . . . . . . . . . . . 322Recommendations . . . . . . . . . . . 322How implemented . . . . . . . . . . 324

    How monitored . . . . . . . . . . . 324The 75 percent rule . . . . . . . . . . 325

    Temporary storage data sharing . . . . . . . 325CICS transient data (TD) . . . . . . . . . 326

    Recovery options . . . . . . . . . . . 326Intrapartition transient data considerations . . 327Extrapartition transient data considerations . . 329Limitations . . . . . . . . . . . . . 330How implemented . . . . . . . . . . 330Recommendations . . . . . . . . . . . 330How monitored . . . . . . . . . . . 331

    Global ENQ/DEQ . . . . . . . . . . . . 331How implemented . . . . . . . . . . 331Recommendations . . . . . . . . . . . 331

    CICS monitoring facility . . . . . . . . . . 331Limitations . . . . . . . . . . . . . 331Recommendations . . . . . . . . . . . 332How implemented . . . . . . . . . . 332How monitored . . . . . . . . . . . 332

    CICS trace . . . . . . . . . . . . . . 332Effects . . . . . . . . . . . . . . . 333Limitations . . . . . . . . . . . . . 333Recommendations . . . . . . . . . . . 333How implemented . . . . . . . . . . 333How monitored . . . . . . . . . . . 334

    CICS recovery . . . . . . . . . . . . . 334Limitations . . . . . . . . . . . . . 334Recommendation . . . . . . . . . . . 334How implemented . . . . . . . . . . 334How monitored . . . . . . . . . . . 334

    CICS security . . . . . . . . . . . . . 334Effects . . . . . . . . . . . . . . . 335Limitations . . . . . . . . . . . . . 335Recommendations . . . . . . . . . . . 335How implemented . . . . . . . . . . 335How monitored . . . . . . . . . . . 335

    CICS storage protection facilities . . . . . . . 335Storage protect . . . . . . . . . . . . 335Transaction isolation . . . . . . . . . . 336Command protection . . . . . . . . . . 336Recommendation . . . . . . . . . . . 336Transaction isolation and applications . . . . 336

    CICS business transaction services . . . . . . 336Effects . . . . . . . . . . . . . . . 337Recommendations . . . . . . . . . . . 337How implemented . . . . . . . . . . 337

    Chapter 27. Improving CICS startupand normal shutdown time . . . . . 339Startup procedures to be checked. . . . . . . 339Automatic restart management . . . . . . . 341Buffer considerations . . . . . . . . . . . 342

    Part 5. Appendixes . . . . . . . . 343

    Appendix A. CICS statistics tables 345Interpreting CICS statistics . . . . . . . . . 345

    Summary report . . . . . . . . . . . 345Autoinstall global statistics . . . . . . . . 347CICS DB2 . . . . . . . . . . . . . 352

    Contents ix

    ||||||

    ||||||

    ||||||||

  • DBCTL session termination. . . . . . . . 364Dispatcher domain . . . . . . . . . . 367Dump domain . . . . . . . . . . . . 373System dumps . . . . . . . . . . . . 373Transaction dumps . . . . . . . . . . 376Enqueue domain . . . . . . . . . . . 378Front end programming interface (FEPI) . . . 381File control . . . . . . . . . . . . . 385ISC/IRC system and mode entries . . . . . 396System entry . . . . . . . . . . . . 397Mode entry . . . . . . . . . . . . . 405ISC/IRC attach time entries . . . . . . . 410Journalname. . . . . . . . . . . . . 411Log stream . . . . . . . . . . . . . 413LSRpool . . . . . . . . . . . . . . 416Monitoring domain . . . . . . . . . . 428Program autoinstall . . . . . . . . . . 430Loader . . . . . . . . . . . . . . 431Program . . . . . . . . . . . . . . 442Recovery manager. . . . . . . . . . . 445Statistics domain . . . . . . . . . . . 451Storage manager . . . . . . . . . . . 452Table manager . . . . . . . . . . . . 464TCP/IP Services - resource statistics . . . . . 465TCP/IP Services - request statistics . . . . . 467Temporary storage . . . . . . . . . . 468Terminal control . . . . . . . . . . . 474Transaction class (TCLASS) . . . . . . . . 478Transaction manager . . . . . . . . . . 482Transient data . . . . . . . . . . . . 491User domain statistics . . . . . . . . . 499VTAM statistics . . . . . . . . . . . 500

    Appendix B. Shared temporarystorage queue server statistics. . . . 503Shared TS queue server: coupling facility statistics 503Shared TS queue server: buffer pool statistics. . . 505Shared TS queue server: storage statistics . . . . 506

    Appendix C. Coupling facility datatables server statistics . . . . . . . 509Coupling facility data tables: list structure statistics 509Coupling facility data tables: table accessesstatistics . . . . . . . . . . . . . . . 511Coupling facility data tables: request statistics . . 512Coupling facility data tables: storage statistics . . 513

    Appendix D. Named counter sequencenumber server . . . . . . . . . . . 515Named counter sequence number server statistics 515Named counter server: storage statistics . . . . 516

    Appendix E. The sample statisticsprogram, DFH0STAT . . . . . . . . 519Analyzing DFH0STAT Reports . . . . . . . 520System Status Report . . . . . . . . . . . 521Transaction Manager Report . . . . . . . . 526Dispatcher Report . . . . . . . . . . . . 528Dispatcher TCBs Report . . . . . . . . . . 530

    Storage Reports . . . . . . . . . . . . 533Loader and Program Storage Report. . . . . . 543Storage Subpools Report . . . . . . . . . 547Transaction Classes Report . . . . . . . . . 549Transactions Report . . . . . . . . . . . 551Transaction Totals Report . . . . . . . . . 552Programs Report . . . . . . . . . . . . 554Program Totals Report . . . . . . . . . . 556DFHRPL Analysis Report . . . . . . . . . 558Programs by DSA and LPA Report . . . . . . 559Temporary Storage Report . . . . . . . . . 561Temporary Storage Queues Report . . . . . . 566Tsqueue Totals Report . . . . . . . . . . 567Temporary Storage Queues by Shared TS Pool . . 567Transient Data Report . . . . . . . . . . 569Transient Data Queues Report . . . . . . . . 571Transient Data Queue Totals Report . . . . . . 572Journalnames Report . . . . . . . . . . . 573Logstreams Report . . . . . . . . . . . 574Autoinstall and VTAM Report . . . . . . . . 577Connections and Modenames Report . . . . . 580TCP/IP Services Report . . . . . . . . . . 584LSR Pools Report . . . . . . . . . . . . 587Files Report . . . . . . . . . . . . . . 592File Requests Report . . . . . . . . . . . 593Data Tables Reports . . . . . . . . . . . 595Coupling Facility Data Table Pools Report . . . . 597Exit Programs Report. . . . . . . . . . . 598Global User Exits Report . . . . . . . . . 599DB2 Connection Report . . . . . . . . . . 600DB2 Entries Report . . . . . . . . . . . 606Enqueue Manager Report . . . . . . . . . 609Recovery Manager Report . . . . . . . . . 612Page Index Report. . . . . . . . . . . . 614

    Appendix F. MVS and CICS virtualstorage . . . . . . . . . . . . . . 615MVS storage . . . . . . . . . . . . . 616

    The MVS common area . . . . . . . . . 616Private area and extended private area . . . . 619

    The CICS private area . . . . . . . . . . 619High private area . . . . . . . . . . . 621

    MVS storage above region . . . . . . . . . 623The CICS region . . . . . . . . . . . . 623

    CICS virtual storage . . . . . . . . . . 623MVS storage . . . . . . . . . . . . . 624The dynamic storage areas . . . . . . . . . 625

    CICS subpools . . . . . . . . . . . . 626Short-on-storage conditions caused by subpoolstorage fragmentation . . . . . . . . . . 636CICS kernel storage . . . . . . . . . . . 639

    Appendix G. Performance data . . . . 641Variable costs . . . . . . . . . . . . . 641

    Logging . . . . . . . . . . . . . . 642Syncpointing . . . . . . . . . . . . 643

    Additional costs . . . . . . . . . . . . 644Transaction initialization and termination . . . . 644

    Receive . . . . . . . . . . . . . . 644Attach/terminate . . . . . . . . . . . 644

    x CICS TS for OS/390: CICS Performance Guide

    |||||||||||||||||||

    ||

    ||

    |||

  • Send . . . . . . . . . . . . . . . 644File control . . . . . . . . . . . . . . 644

    READ . . . . . . . . . . . . . . . 645READ UPDATE . . . . . . . . . . . 645Non-recoverable files . . . . . . . . . . 645Recoverable files . . . . . . . . . . . 645REWRITE . . . . . . . . . . . . . 645Non-recoverable files . . . . . . . . . . 645Recoverable files . . . . . . . . . . . 645WRITE . . . . . . . . . . . . . . 646Non-Recoverable files . . . . . . . . . 646Recoverable files . . . . . . . . . . . 646DELETE . . . . . . . . . . . . . . 646Non-Recoverable files . . . . . . . . . 646Recoverable files . . . . . . . . . . . 646Browsing . . . . . . . . . . . . . . 647UNLOCK . . . . . . . . . . . . . 647

    Coupling facility data tables . . . . . . . . 647Record Level Sharing (RLS) . . . . . . . . 647Temporary Storage . . . . . . . . . . . 648

    Main Storage . . . . . . . . . . . . 648Auxiliary Storage . . . . . . . . . . . 648

    Non-Recoverable TS Queue . . . . . . . 648Recoverable TS Queue . . . . . . . . . 648Shared Temporary Storage . . . . . . . . 648

    Transient Data . . . . . . . . . . . . . 649Intrapartition Queues. . . . . . . . . . 649Non-Recoverable TD Queue . . . . . . . 649Logically Recoverable TD Queue . . . . . . 649Physically Recoverable TD Queue . . . . . 649Extrapartition queues. . . . . . . . . . 649

    Program Control . . . . . . . . . . . . 650Storage control . . . . . . . . . . . . . 650Interregion Communication . . . . . . . . 650

    Transaction routing . . . . . . . . . . 650Function shipping (MROLRM=YES) . . . . . 651Function shipping (MROLRM=NO) . . . . . 651

    Glossary . . . . . . . . . . . . . 653

    Index . . . . . . . . . . . . . . . 675

    Sending your comments to IBM . . . 685

    Contents xi

    ||

  • xii CICS TS for OS/390: CICS Performance Guide

  • NoticesThis information was developed for products and services offered in the U.S.A.IBM may not offer the products, services, or features discussed in this document inother countries. Consult your local IBM representative for information on theproducts and services currently available in your area. Any reference to an IBMproduct, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product,program, or service that does not infringe any IBM intellectual property right maybe used instead. However, it is the users responsibility to evaluate and verify theoperation of any non-IBM product, program, or service.

    IBM may have patents or pending patent applications covering subject matterdescribed in this document. The furnishing of this document does not give youany license to these patents. You can send license inquiries, in writing, to:

    IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.

    For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to:

    IBM World Trade Asia CorporationLicensing2-31 Roppongi 3-chome, Minato-kuTokyo 106, Japan

    The following paragraph does not apply in the United Kingdom or any othercountry where such provisions are inconsistent with local law:INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THISPUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESSFOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express orimplied warranties in certain transactions, therefore this statement may not applyto you.

    This publication could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvementsand/or changes in the product(s) and/or the program(s) described in thispublication at any time without notice.

    Licensees of this program who wish to have information about it for the purposeof enabling: (i) the exchange of information between independently createdprograms and other programs (including this one) and (ii) the mutual use of theinformation which has been exchanged, should contact IBM United KingdomLaboratories, MP151, Hursley Park, Winchester, Hampshire, England, SO21 2JN.Such information may be available, subject to appropriate terms and conditions,including in some cases, payment of a fee.

    Copyright IBM Corp. 1983, 1999 xiii

  • The licensed program described in this document and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement,IBM International Programming License Agreement, or any equivalent agreementbetween us.

    Programming Interface InformationThis book is intended to help you to:v Establish performance objectives and monitor themv Identify performance constraints, and make adjustments to the operational CICS

    system and its application programs.

    This book also documents Product-sensitive Programming Interface and AssociatedGuidance Information and Diagnosis, Modification or Tuning Information providedby CICS.

    Product-sensitive programming interfaces allow the customer installation toperform tasks such as diagnosing, modifying, monitoring, repairing, tailoring, ortuning of CICS. Use of such interfaces creates dependencies on the detailed designor implementation of the IBM software product. Product-sensitive programminginterfaces should be used only for these specialized purposes. Because of theirdependencies on detailed design and implementation, it is to be expected thatprograms written to such interfaces may need to be changed in order to run withnew product releases or versions, or as a result of service.

    Product-sensitive Programming Interface and Associated Guidance Information isidentified where it occurs, either by an introductory statement to a chapter orsection or by the following marking:

    Product-sensitive programming interface

    End of Product-sensitive programming interface

    Diagnosis, Modification or Tuning Information is provided to help you tune yourCICS system.

    Attention: Do not use this Diagnosis, Modification or Tuning Information as aprogramming interface.

    Diagnosis, Modification or Tuning Information is identified where it occurs, eitherby an introductory statement to a chapter or section or by the following marking:

    Diagnosis, Modification or Tuning Information

    End of Diagnosis, Modification or Tuning Information

    xiv CICS TS for OS/390: CICS Performance Guide

  • Trademarks

    The following terms are trademarks of International Business MachinesCorporation in the United States, or other countries, or both:

    ACF/VTAMCICSCICS/ESACICS/MVSCICSPlex SMDATABASE 2DB2

    DFSMS/MVSGDDMHiperspaceIBMIMS/ESAMVS/DFPMVS/ESA

    NetViewOS/2OS/390RACFRMFSystem/390VTAM

    Other company, product, and service names may be trademarks or service marksof others.

    Notices xv

  • xvi CICS TS for OS/390: CICS Performance Guide

  • Preface

    What this book is about

    This book is intended to help you to:v Establish performance objectives and monitor themv Identify performance constraints, and make adjustments to the operational CICS

    system and its application programs.

    This book does not discuss the performance aspects of the CICS Transaction Serverfor OS/390 Release 3 Front End Programming Interface. For more informationabout the Front End Programming Interface, See the CICS Front End ProgrammingInterface Users Guide. This book does not contain Front End Programming Interfacedump statistics.

    Who this book is forThis book is for a person who is involved in:v System designv Monitoring and tuning CICS performance.

    What you need to know to understand this bookYou need to have a good understanding of how CICS works. This assumesfamiliarity with many of the books in the CICS Transaction Server for OS/390Release 3 library, together with adequate practical experience of installing andmaintaining a CICS system.

    How to use this bookIf you want to establish performance objectives, monitor the performance of aCICS system, and occasionally make adjustments to the system to keep it withinobjectives, you should read through this book in its entirety.

    If you have a performance problem and want to correct it, read Parts 3 and 4. Youmay need to refer to various sections in Part 2.

    Notes on terminologyThe following abbreviations are used throughout this book:v CICS refers to the CICS element in the CICS Transaction Server for OS/390

    v MVS refers to the operating system, which can be either an element ofOS/390, or MVS/Enterprise System Architecture System Product (MVS/ESA SP).

    v VTAM refers to ACF/VTAM.v DL/I refers to the database component of IMS/ESA.

    Copyright IBM Corp. 1983, 1999 xvii

  • xviii CICS TS for OS/390: CICS Performance Guide

  • BibliographyCICS Transaction Server for OS/390

    CICS Transaction Server for OS/390: Planning for Installation GC33-1789CICS Transaction Server for OS/390 Release Guide GC34-5352CICS Transaction Server for OS/390 Migration Guide GC34-5353CICS Transaction Server for OS/390 Installation Guide GC33-1681CICS Transaction Server for OS/390 Program Directory GI10-2506CICS Transaction Server for OS/390 Licensed Program Specification GC33-1707

    CICS books for CICS Transaction Server for OS/390General

    CICS Master Index SC33-1704CICS Users Handbook SX33-6104CICS Transaction Server for OS/390 Glossary (softcopy only) GC33-1705

    AdministrationCICS System Definition Guide SC33-1682CICS Customization Guide SC33-1683CICS Resource Definition Guide SC33-1684CICS Operations and Utilities Guide SC33-1685CICS Supplied Transactions SC33-1686

    ProgrammingCICS Application Programming Guide SC33-1687CICS Application Programming Reference SC33-1688CICS System Programming Reference SC33-1689CICS Front End Programming Interface Users Guide SC33-1692CICS C++ OO Class Libraries SC34-5455CICS Distributed Transaction Programming Guide SC33-1691CICS Business Transaction Services SC34-5268

    DiagnosisCICS Problem Determination Guide GC33-1693CICS Messages and Codes GC33-1694CICS Diagnosis Reference LY33-6088CICS Data Areas LY33-6089CICS Trace Entries SC34-5446CICS Supplementary Data Areas LY33-6090

    CommunicationCICS Intercommunication Guide SC33-1695CICS Family: Interproduct Communication SC33-0824CICS Family: Communicating from CICS on System/390 SC33-1697CICS External Interfaces Guide SC33-1944CICS Internet Guide SC34-5445

    Special topicsCICS Recovery and Restart Guide SC33-1698CICS Performance Guide SC33-1699CICS IMS Database Control Guide SC33-1700CICS RACF Security Guide SC33-1701CICS Shared Data Tables Guide SC33-1702CICS Transaction Affinities Utility Guide SC33-1777CICS DB2 Guide SC33-1939

    Copyright IBM Corp. 1983, 1999 xix

  • CICSPlex SM books for CICS Transaction Server for OS/390General

    CICSPlex SM Master Index SC33-1812CICSPlex SM Concepts and Planning GC33-0786CICSPlex SM User Interface Guide SC33-0788CICSPlex SM View Commands Reference Summary SX33-6099

    Administration and ManagementCICSPlex SM Administration SC34-5401CICSPlex SM Operations Views Reference SC33-0789CICSPlex SM Monitor Views Reference SC34-5402CICSPlex SM Managing Workloads SC33-1807CICSPlex SM Managing Resource Usage SC33-1808CICSPlex SM Managing Business Applications SC33-1809

    ProgrammingCICSPlex SM Application Programming Guide SC34-5457CICSPlex SM Application Programming Reference SC34-5458

    DiagnosisCICSPlex SM Resource Tables Reference SC33-1220CICSPlex SM Messages and Codes GC33-0790CICSPlex SM Problem Determination GC33-0791

    Other CICS booksCICS Application Programming Primer (VS COBOL II) SC33-0674CICS Application Migration Aid Guide SC33-0768CICS Family: API Structure SC33-1007CICS Family: Client/Server Programming SC33-1435CICS Family: General Information GC33-0155CICS 4.1 Sample Applications Guide SC33-1173CICS/ESA 3.3 XRF Guide SC33-0661

    If you have any questions about the CICS Transaction Server for OS/390 library,see CICS Transaction Server for OS/390: Planning for Installation which discusses bothhardcopy and softcopy books and the ways that the books can be ordered.

    Books from related libraries

    ACF/VTAMACF/VTAM Installation and Migration Guide, GC31-6547-01ACF/VTAM Network Implementation Guide, SC31-6548

    CICSPlex System Manager for MVS/ESAIBM CICSPlex System Manager for MVS/ESA Setup and Administration - Volume 1,SC33-0784-01IBM CICSPlex System Manager for MVS/ESA Setup and Administration - Volume 2,SC33-0784-02

    DATABASE 2DB2 for OS/390 Administration Guide, SC26-8957

    DATABASE 2 Performance Monitor (DB2PM)DB2 PM Batch Users Guide, SH12-6164DB2 PM Command Reference, SH12-6167

    xx CICS TS for OS/390: CICS Performance Guide

  • DB2 PM Online Monitor Users Guide, SH12-6165DB2 PM Report Reference, SH12-6163DB2 for OS/390 Capacity Planning, SG24-2244DB2 PM Usage Guide Update, SG24-2584

    DFSMS/MVSDFSMS/MVS NaviQuest Users Guide, SC26-7194DFSMS/MVS DFSMSdfp Storage Administration Reference, SC26-4920

    IMS/ESAIMS/ESA Version 5 Admin Guide: DB, SC26-8012IMS/ESA Version 5 Admin Guide: System, SC26-8013IMS/ESA Version 5 Performance Analyzers Users Guide, SC26-9088IMS/ESA Version 6 Admin Guide: DB, SC26-8725IMS/ESA Version 6 Admin Guide: System, SC26-8720IMS Performance Analyzer Users Guide SC26-9088

    MVSOS/390 MVS Initialization and Tuning Guide, SC28-1751OS/390 MVS Initialization and Tuning Reference, SC28-1752OS/390 MVS JCL Reference, GC28-1757OS/390 MVS System Management Facilities (SMF), GC28-1783OS/390 MVS Planning: Global Resource Serialization, GC28-1759OS/390 MVS Planning: Workload Management, GC28-1761OS/390 MVS Setting Up a Sysplex, GC28-1779

    OS/390 RMFOS/390 RMF Users Guide, GC28-1949-01OS/390 Performance Management Guide, SC28-1951-00OS/390 RMF Report Analysis, SC28-1950-01OS/390 RMF Programmers Guide, SC28-1952-01

    Tivoli Performance Reporter for OS/390Tivoli Performance Reporter for OS/390: Administration Guide, SH19-6816Tivoli Performance Reporter for OS/390: CICS Performance Feature Guide andReference, SH19-6820SLR to Tivoli Performance Reporter for OS/390: Migration Cookbook, SG24-5128

    NetView Performance Monitor (NPM)NPM Reports and Record Formats, SH19-6965-01NPM Users Guide, SH19-6962-01

    Tuning toolsGeneralized Trace Facility Performance Analysis (GTFPARS) ProgramDescription/Operations Manual, SB21-2143Network Performance Analysis and Reporting System Program Description/Operations,SB21-2488Network Program Products Planning, SC30-3351

    OthersCICS Workload Management Using CICSPlex SM and the MVS/ESA WorkloadManager, GG24-4286System/390 MVS Parallel Sysplex Performance, GG24-4356

    Bibliography xxi

  • System/390 MVS/ESA Version 5 Workload Manager Performance Studies, SG24-4352IBM 3704 and 3705 Control Program Generation and Utilities Guide, GC30-3008IMSASAP II Description/Operations, SB21-1793Screen Definition Facility II Primer for CICS/BMS Programs, SH19-6118Systems Network Architecture Management Services Reference,SC30-3346Teleprocessing Network Simulator General Information, GH20-2487

    Determining if a publication is currentIBM regularly updates its publications with new and changed information. Whenfirst published, both hardcopy and BookManager softcopy versions of a publicationare usually in step. However, due to the time required to print and distributehardcopy books, the BookManager version is more likely to have had last-minutechanges made to it before publication.

    Subsequent updates will probably be available in softcopy before they are availablein hardcopy. This means that at any time from the availability of a release, softcopyversions should be regarded as the most up-to-date.

    For CICS Transaction Server books, these softcopy updates appear regularly on theTransaction Processing and Data Collection Kit CD-ROM, SK2T-0730-xx. Each reissueof the collection kit is indicated by an updated order number suffix (the -xx part).For example, collection kit SK2T-0730-06 is more up-to-date than SK2T-0730-05. Thecollection kit is also clearly dated on the cover.

    Updates to the softcopy are clearly marked by revision codes (usually a #character) to the left of the changes.

    xxii CICS TS for OS/390: CICS Performance Guide

  • Summary of changesChanges since CICS Transaction Server for OS/390 Release 2 are indicated byvertical lines to the left of the text.

    Changes for CICS Transaction Server for OS/390 Release 3The chapter on Service Level Reporter(SLR) has been removed.

    Chapter 7. Tivoli Performance Reporter for OS/390 on page 113 replaces thechapter on Performance Reporter for MVS..

    Performance considerations resulting from enhancements to CICS Web support andthe introduction of Secure Sockets Layer for Web security, are discussed inChapter 17. CICS Web support on page 221.

    The performance implications of using Coupling Facilities Data Tables, includinginformation about contention model and locking model, are discussed inChapter 18. VSAM and file control on page 225.

    A chapter has been added, Chapter 19. Java program objects on page 255, tointroduce performance considerations when using Java language support.

    Chapter 20. Java virtual machine (JVM) programs on page 259 describesperformance implications for programs run using the MVS Java Virtual Machine(JVM).

    Chapter 8. Managing Workloads on page 123 has been revised to discuss morefully the implications and benefits of using the MVS workload manager, and tointroduce the CICSPlex SM dynamic routing program used by the WLM.

    Additional or changed statistics for the following have been documented:v Dispatcher domainv Enqueue domainv Filesv ISC/IRCv TCP/IP ServicesSeparate appendixes have been created to show the statistics obtained for thefollowing:v Coupling facility data tables serverv Named counter sequence number server

    Changes have also been made to several reports in the sample statistics program,DFH0STAT.

    Copyright IBM Corp. 1983, 1999 xxiii

    |||

    |||||||||||||||||||||||||||||

  • Changes for CICS Transaction Server for OS/390 Release 2v The CICS DB2 attachment facility supplied with CICS Transaction Server for

    OS/390 Release 2 provides resource definition online (RDO) support for DB2resources as an alternative to resource definition table (RCT) definitions. CICSDB2 statistics, collected using standard CICS interfaces, are provided inAppendix A.

    v Chapter 21. Database management on page 263 discusses relevant parametersof the CICS DB2 attachment facility.

    v Information about tuning the performance of DASD-only log streams has beenadded to Chapter 22. Logging and journaling on page 271.

    v A full description of User Domain statistics is provided.v Additions have been made to performance data for groups DFHFILE,

    DFHPROG, DFHTASK, and DFHTEMP in Chapter 6. The CICS monitoringfacility on page 65.

    v Appendix F. MVS and CICS virtual storage on page 615 has an additionalsection, Short-on-storage conditions caused by subpool storage fragmentationon page 636.

    Changes for the CICS Transaction Server Release 1 editionv As part of the restructure of the temporary storage section, the TSMGSET system

    initialization parameter has been deleted.v The XRF function has not changed for CICS Transaction for OS/390 Release 1,

    but the chapter, Tuning XRF, has been removed from this book. For informationabout tuning XRF see the CICS/ESA 4.1 edition of the Performance Guide.

    v For VSAM RLS files, the IMBED cluster attribute has been withdrawn, and theREPLICATE cluster is no longer recommended. You can achieve the effects ofImbed and Replication by using caching controllers.

    v The enterprise performance data manager introduced in CICS Transaction Serverfor OS/390 Release 1 has been renamed Performance Reporter for MVS. SeeChapter 7.

    v The role of the system initialization parameters, DSHIPINT and DSHIPIDL isdiscussed in Chapter 24. MRO and ISC on page 305.

    v Information about automatic restart management (ARM), as a sysplex-widerestart mechanism is given in Chapter 27. Improving CICS startup and normalshutdown time on page 339.

    v Journal control statistics have been replaced by Journalname statistics and LogStream statistics. They represent the activity on journals within MVS log streamsand SMF data sets. See Journalname on page 411, and Log stream onpage 413.

    v An Appendix has been added to explain the shared temporary storage serverstatistics that are produced when determining how much available storage canbe allocated to the server. See Appendix B. Shared temporary storage queue serverstatistics.

    v A temporary storage domain has been introduced, and a number of TSMAINsubpools are to be added to the list of CICS subpools in the ECDSA inAppendix F. MVS and CICS virtual storage on page 615.

    v A different methodology has been used to produce the latest data presented inAppendix G. Performance data on page 641.

    xxiv CICS TS for OS/390: CICS Performance Guide

  • Changes for the CICS/ESA 4.1 editionChanges for the CICS/ESA Version 4 Release 1 edition include the following:v Additional or changed statistics in the following areas have been documented:

    Autoinstalled statistics DBCTL statistics Dispatcher statistics DL/I statistics FEPI pool statistics FEPI connection statistics FEPI target statistics File control statistics ISC/IRC system and mode entry statistics Journal control statistics Loader statistics LSR pool statistics Program autoinstalled statistics Storage manager statistics Suspending mirrors and MROLM Terminal control statistics Terminal autoinstalled statistics Transaction statistics Transaction class statistics Transaction manager statistics Transient data statistics VTAM statistics.

    v The domain manager statistics have been removed from this release.v The description of the data produced by the CICS monitoring facility has been

    transferred from the Customization Guide and is included in Interpreting CICSmonitoring on page 73.

    v Chapter 9. Understanding RMF workload manager data on page 135 has beenadded to explain CICS-related data in an RMF workload activity report.

    v Use of LLA (MVS library lookaside) on page 197 includes a section onpersistent sessions delay interval (PSINT).

    v Intersystems session queue management on page 307 has been added toChapter 24. MRO and ISC on page 305.

    v A new appendix has been added giving details of the sample statistics program(DFH0STAT). See Appendix E. The sample statistics program, DFH0STAT onpage 519.

    v The storage chapter has been modified, and a new section about kernel storagehas been added in CICS kernel storage on page 639.

    Summary of changes xxv

  • xxvi CICS TS for OS/390: CICS Performance Guide

  • Part 1. Setting performance objectivesThis book describes how CICS performance might be improved. It also providesreference information to help you achieve such improvement.

    Good performance is the achievement of agreed service levels. This means thatsystem availability and response times meet users expectations using resourcesavailable within the budget.

    The performance of a CICS system should be considered:v When you plan to install a new systemv When you want to review an existing systemv When you contemplate major changes to a system.

    There are several basic steps in tuning a system, some of which may be justiterative until performance is acceptable. These are:1. Agree what good performance is.2. Set up performance objectives (described in Chapter 1. Establishing

    performance objectives).3. Decide on measurement criteria (described in Chapter 3. Performance

    monitoring and review).4. Measure the performance of the production system.5. Adjust the system as necessary.6. Continue to monitor the performance of the system and anticipate future

    constraints (see Monitoring for the future on page 15).

    Parts 1 and 2 of this book describe how to monitor and assess performance.

    Parts 3 and 4 suggest ways to improve performance.

    This part contains the following chapters:

    v Chapter 1. Establishing performance objectives on page 3v Chapter 2. Gathering data for performance objectives on page 7v Chapter 3. Performance monitoring and review on page 11.

    Recommendations given in this book, based on current knowledge of CICS, are general innature, and cannot be guaranteed to improve the performance of any particular system.

    Copyright IBM Corp. 1983, 1999 1

  • 2 CICS TS for OS/390: CICS Performance Guide

  • Chapter 1. Establishing performance objectivesThe process of establishing performance objectives is described in this chapter inthe following sections:v Defining some termsv Defining performance objectives and priorities on page 4v Analyzing the current workload on page 5v Translating resource requirements into system objectives on page 5

    Performance objectives often consist of a list of transactions and expected timings foreach. Ideally, through them, good performance can be easily recognized and youknow when to stop further tuning. They must, therefore, be:v Practically measurablev Based on a realistic workloadv Within the budget.

    Such objectives may be defined in terms such as:v Desired or acceptable response times, for example, within which 90% of all

    responses occurv Average or peak number of transactions through the systemv System availability, including mean time to failure, and downtime after a failure.

    After you have defined the workload and estimated the resources required, youmust reconcile the desired response with what you consider attainable. Theseobjectives must then be agreed and regularly reviewed with users.

    Establishing performance objectives is an iterative process involving the activitiesdescribed in the rest of this chapter.

    Defining some termsFor performance measurements we need to be very specific about what we aremeasuring. Therefore, it is necessary to define a few terms.

    The word user here means the terminal operator. A user, so defined, sees CICSperformance as the response time, that is, the time between the last input action (forexample, a keystroke) and the expected response (for example, a message on thescreen). Several such responses might be required to complete a user function, andthe amount of work that a user perceives as a function can vary enormously. So,the number of functions per period of time is not a good measure of performance,unless, of course, there exists an agreed set of benchmark functions.

    A more specific unit of measure is therefore needed. The words transaction and taskare used to describe units of work within CICS. Even these can lead to ambiguities,because it would be possible to define transactions and tasks of varying size.However, within a particular system, a series of transactions can be well definedand understood so that it becomes possible to talk about relative performance interms of transactions per second (or minute, or hour).

    Copyright IBM Corp. 1983, 1999 3

  • In this context there are three modes of CICS operation.Nonconversational mode is of the nature of one question, one answer; resources

    are allocated, used, and released immediately on completion of the task. In thismode the words transaction and task are more or less synonymous.Conversational mode is potentially wasteful in a system that does not have

    abundant resources. There are further questions and answers during whichresources are not released. Resources are, therefore, tied up unnecessarily waitingfor users to respond, and performance may suffer accordingly. Transaction and taskare, once again, more or less synonymous.Pseudoconversational mode allows for slow response from the user. Transactions

    are broken up into more than one task, yet the user need not know this. Theresources in demand are released at the end of each task, giving a potential forimproved performance.

    The input/output surrounding a task may be known as the dialog.

    Defining performance objectives and prioritiesPerformance objectives and priorities depend on users expectations. From thepoint of view of CICS, these objectives state response times to be seen by theterminal user, and the total throughput per day, hour, or minute.

    The first step in defining performance objectives is to specify what is required ofthe system. In doing this, you must consider the available hardware and softwareresources so that reasonable performance objectives can be agreed. Alternativelyyou should ascertain what additional resource is necessary to attain usersexpectations, and what that resource would cost. This cost might be important innegotiations with users to reach an acceptable compromise between response timeand required resource.

    An agreement on acceptable performance criteria between the data processing anduser groups in an organization is often formalized and called a service levelagreement.

    Nonconversational

    Transaction Task Input Work Output

    Conversational

    Transaction Task InputWorkOutputInputWorkOutput

    Pseudoconversational

    Transaction Task Task InputWorkOutputInputWorkOutput

    4 CICS TS for OS/390: CICS Performance Guide

  • Common examples in these agreements are, on a network with remote terminals,that 90% of all response times sampled are under six seconds in the prime shift, orthat the average response time does not exceed 12 seconds even during peakperiods. (These response times could be substantially lower in a network consistingonly of local terminals.)

    You should consider whether to define your criteria in terms of the average, the90th percentile, or even the worst-case response time. Your choice may depend onthe audit controls of your installation and the nature of the transactions inquestion.

    Analyzing the current workloadBreak down the work to be done into transactions. Develop a profile for eachtransaction that includes:v The workload, that is, the amount of work done by CICS to complete this

    transaction. In an ideal CICS system (with optimum resources), mosttransactions perform a single function with an identifiable workload.

    v The volume, that is, the number of times this transaction is expected to beexecuted during a given period. For an active system, you can get this from theCICS statistics.

    Later, transactions with common profiles can be merged, for convenience intotransaction categories.

    Establish the priority of each transaction category, and note the periods duringwhich the priorities change.

    Determine the resources required to do the work, that is:v Physical resources managed by the operating system (real storage, DASD I/O,

    terminal I/O)v Logical resources managed by the subsystem, such as control blocks and buffers.

    To determine transaction resource demands, you can make sample measurementson a dedicated machine using the CICS monitoring facility. Use these results tosuggest possible changes that could have the greatest effect if applied beforesystem-wide contention arises. You can also compare your test results with those inthe production environment.

    See Chapter 2. Gathering data for performance objectives on page 7 for moredetailed recommendations on this step.

    Translating resource requirements into system objectivesYou have to translate the information you have gathered into system-orientedobjectives for each transaction category. Such objectives include statements aboutthe transaction volumes to be supported (including any peak periods) and theresponse times to be achieved.

    Any assumptions that you make about your installation must be used consistentlyin future monitoring. These assumptions include computing-system factors andbusiness factors.

    Chapter 1. Establishing performance objectives 5

  • Computing-system factors include the following:v System response time: this depends on the design and implementation of the code,

    and the power of the processor.v Network response time: this can amount to seconds, while responses in the

    processor are likely to be in fractions of seconds. This means that a system cannever deliver good responses through an overloaded network, however good theprocessor.

    v DASD response time: this is generally responsible for most of the internalprocessing time required for a transaction. You must consider all I/O operationsthat affect a transaction.

    v Existing workload: this may affect the performance of new transactions, and viceversa. In planning the capacity of the system, consider the total load on eachmajor resource, not just the load for the new application.Response times can vary for a number of reasons, and the targets should,therefore, specify an acceptable degree of tolerance. Allow for transactions thatare known to make heavy demands on the processor and database I/O.To reconcile expectations with performance, it may be necessary to change theexpectations or to vary the mix or volume of transactions.

    Business factors are concerned with work fluctuations. Allow for daily peaks (forexample, after receipt of mail), weekly peaks (for example, Monday peak afterweekend mail), and seasonal peaks as appropriate to the business. Also allow forthe peaks of work after planned interruptions, such as preventive maintenance andpublic holidays.

    6 CICS TS for OS/390: CICS Performance Guide

  • Chapter 2. Gathering data for performance objectivesDuring the design, development, and test of a total system, information is gatheredabout the complexity of processing with particular emphasis on I/O activity. Thisinformation is used for establishing performance objectives.

    The following phases of installation planning are discussed in this chapter:v Requirements definition phasev External design phasev Internal design phasev Coding and testing phase on page 8v Post-development review on page 8v Information supplied by end users on page 8

    Requirements definition phaseIn this phase, careful estimates are your only input, as follows:v Number of transactions for each user functionv Number of I/O operations per user function (DASD and terminals)v Time required to key in user data (including user thinking time)v Line speeds (number of characters per second) for remote terminalsv Number of terminals and operators required to achieve the required rate of

    inputv Maximum rate of transactions per minute/hour/day/weekv Average and maximum workloads (that is, processing per transaction)v Average and maximum volumes (that is, total number of transactions)v Likely effects of performance objectives on operations and system programming.

    External design phaseDuring the external design phase, you should:1. Estimate the network, processor, and DASD loading based on the dialog

    between users and tasks (that is, the input to each transaction, and consequentoutput).

    2. Revise your disk access estimates. After external design, only the logical dataaccesses are defined (for example, EXEC CICS READ).

    3. Estimate coupling facility resources usage for the MVS system logger andresource files, or any cross-system coupling facility (XCF) activity.

    Remember that, after the system has been brought into service, no amount oftuning can compensate for poor initial design.

    Internal design phaseMore detailed information is available to help:

    Copyright IBM Corp. 1983, 1999 7

  • v Refine your estimate of loading against the work required for each transactiondialog. Include screen control characters for field formatting.

    v Refine disk access estimates against database design. After internal design, thephysical data accesses can be defined at least for the application-orientedaccesses.

    v Add the accesses for CICS temporary storage (scratchpad) data, program library,and CICS transient data to the database disk accesses.

    v Consider if additional loads could cause a significant constraint.v Refine estimates on processor use.

    Coding and testing phaseDuring the coding and testing phase, you should:1. Refine the internal design estimates of disk and processing resources.2. Refine the network loading estimates.3. Run the monitoring tools and compare results with estimates. See Chapter 4.

    An overview of performance-measurement tools on page 23 for information onthe CICS monitoring tools.

    Post-development reviewReview the performance of the complete system in detail. The main purposes areto:v Validate performance against objectivesv Identify resources whose use requires regular monitoringv Feed the observed figures back into future estimates.To achieve this, you should:1. Identify discrepancies from the estimated resource use2. Identify the categories of transactions that have caused these discrepancies3. Assign priorities to remedial actions4. Identify resources that are consistently heavily used5. Provide utilities for graphic representation of these resources6. Project the loadings against the planned future system growth to ensure that

    adequate capacity is available7. Update the design document with the observed performance figures8. Modify the estimating procedures for future systems.

    Information supplied by end usersComments from users are a necessary part of the data for performance analysisand improvement. Reporting procedures must be established, and their useencouraged.

    Log exceptional incidents. These incidents should include system, line, ortransaction failure, and response times that are outside specified limits. In addition,you should log incidents that threaten performance (such as deadlocks, deadlockabends, stalls, indications of going short-on-storage (SOS) and maximum numberof multiregion operation (MRO) sessions used) as well as situations such as

    8 CICS TS for OS/390: CICS Performance Guide

  • recoveries, including recovery from DL/I deadlock abend and restart, which meanthat additional system resources are being used.

    The data logged should include the date and time, location, duration, cause (ifknown), and the action taken to resolve the problem.

    Chapter 2. Gathering data for performance objectives 9

  • 10 CICS TS for OS/390: CICS Performance Guide

  • Chapter 3. Performance monitoring and reviewThis chapter describes in the following sections some monitoring techniques; andhow to use them.v Deciding on monitoring activities and techniquesv Developing monitoring activities and techniques on page 12v Planning the review process on page 13v When to review? on page 13v Monitoring for the future on page 15v Reviewing performance data on page 16v Confirming that the system-oriented objectives are reasonable on page 16v Typical review questions on page 17v Anticipating and monitoring system changes and growth on page 19

    Once set, as described in Chapter 1. Establishing performance objectives onpage 3, performance objectives should be monitored using appropriate methods.

    Deciding on monitoring activities and techniquesIn this book, monitoring is specifically used to describe regular checking of theperformance of a CICS production system, against objectives, by the collection andinterpretation of data. Subsequently, analysis describes the techniques used toinvestigate the reasons for performance deterioration. Tuning may be used for anyactions that result from this analysis.

    Monitoring should be ongoing because it:v Establishes transaction profiles (that is, workload and volumes) and statistical

    data for predicting system capacitiesv Gives early warning through comparative data to avoid performance problemsv Measures and validates any tuning you may have done in response to an earlier

    performance problem.

    A performance history database (see Tivoli Performance Reporter for OS/390 onpage 31 for an example) is a valuable source from which to answer questions onsystem performance, and to plan further tuning.

    Monitoring may be described in terms of strategies, procedures, and tasks.

    Strategies may include:v Continuous or periodic summaries of the workload. You can track all

    transactions or selected representatives.v Snapshots at normal or peak loads. Peak loads should be monitored for two

    reasons:1. Constraints and slow responses are more pronounced at peak volumes.2. The current peak load is a good indicator of the future average load.

    Copyright IBM Corp. 1983, 1999 11

  • Procedures, such as good documentation practices, should provide a managementlink between monitoring strategies and tasks. The following should be noted:v The growth of transaction rates and changes in the use of applicationsv Consequent extrapolation to show possible future trendsv The effects of nonperformance system problems such as application abends,

    frequent signon problems, and excessive retries.

    Tasks (not to be confused with the task component of a CICS transaction) include:v Running one or more of the tools described in Chapter 4. An overview of

    performance-measurement tools on page 23v Collating the outputv Examining it for trends.

    You should allocate responsibility for these tasks between operations personnel,programming personnel, and analysts. You must identify the resources that are tobe regarded as critical, and set up a procedure to highlight any trends in the use ofthese resources.

    Because the tools require resources, they may disturb the performance of aproduction system.

    Give emphasis to peak periods of activity, for both the new application and thesystem as a whole. It may be necessary to run the tools more frequently at first toconfirm that the expected peaks correspond with the actual ones.

    It is not normally practical to keep all the detailed output. Arrange for summarizedreports to be filed with the corresponding CICS statistics, and for the output fromthe tools to be held for an agreed period, with customary safeguards for itsprotection.

    Conclusions on performance should not be based on one or two snapshots ofsystem performance, but rather on data collected at different times over aprolonged period. Emphasis should be placed on peak loading. Because differenttools use different measurement criteria, early measurements may give apparentlydiscrepant results.

    Your monitoring procedures should be planned ahead of time. These proceduresshould explain the tools to be used, the analysis techniques to be used, theoperational extent of those activities, and how often they are to be performed.

    Developing monitoring activities and techniquesWhen you are developing a master plan for monitoring and performance analysis,you should establish:v A master schedule of monitoring activity. You should coordinate monitoring

    with operations procedures to allow for feedback of online events as well asinstructions for daily or periodic data gathering.

    v The tools to be used for monitoring. The tools used for data gathering shouldprovide for dynamic monitoring, daily collection of statistics, and more detailedmonitoring. (See When to review? on page 13.)

    v The kinds of analysis to be performed. This must take into account any controlsyou have already established for managing the installation, for example, the useof the Performance Reporter, and so on. You should document what data is to be

    12 CICS TS for OS/390: CICS Performance Guide

  • extracted from the monitoring output, identifying the source and usage of thedata. Although the formatted reports provided by the monitoring tools help toorganize the volume of data, you may need to design worksheets to assist indata extraction and reduction.

    v A list of the personnel who are to be included in any review of the findings. Theresults and conclusions from analyzing monitor data should be made known tothe user liaison group and to system performance specialists.

    v A strategy for implementing changes to the CICS system design resulting fromtuning recommendations. This has to be incorporated into installationmanagement procedures, and would include items such as standards for testingand the permitted frequency of changes to the production environment.

    Planning the review processEstablish a schedule for monitoring procedures. This schedule should be as simpleas possible. The activities done as part of the planning should include thefollowing:v Listing the CICS requests made by each type of task. This helps you decide

    which requests or which resources (the high-frequency or high-cost ones) needto be looked at in statistics and CICS monitoring facility reports.

    v Drawing up checklists of review questions.v Estimating resource usage and system loading for new applications. This is to

    enable you to set an initial basis from which to start comparisons.

    When to review?

    You should plan for the following broad levels of monitoring activity:v Dynamic (online) monitoring.v Daily monitoring.v Periodic (weekly and monthly) monitoring.v Keeping sample reports as historical data. You can also keep historical data in a

    database such as the Performance Reporter database.

    Dynamic monitoringDynamic monitoring, is on-the-spot monitoring that you can, and should, carryout at all times. This type of monitoring generally includes the following:v Observing the systems operation continuously to discover any serious

    short-term deviation from performance objectives.Use the CEMT transaction (CEMT INQ|SET MONITOR), together with end-userfeedback. You can also use the Resource Measurement Facility (RMF) to collectinformation about processor, channel, coupling facility, and I/O device usage.

    v Obtaining status information. Together with status information obtained byusing the CEMT transaction, you can get status information on systemprocessing during online execution. This information could include the queuelevels, active regions, active terminals, and the number and type ofconversational transactions. You could get this information with the aid of anautomated program invoked by the master terminal operator. At prearrangedtimes in the production cycle (such as before scheduling a message, at shutdownof part of the network, or at peak loading), the program could capture thetransaction processing status and measurements