Академический Документы
Профессиональный Документы
Культура Документы
STF004-2
Third Edition 1999 This edition applies to STROBE MVS for Sysplex Release 3.0 of the STROBE MVS Application Performance Measurement System and to all subsequent releases until otherwise indicated in future editions of or revisions to this document. Address all comments and inquiries to Programart Corporation 124 Mount Auburn Street Cambridge, Massachusetts, USA 02138-5758 (617) 661-3020 Fax (617) 498-4010 (800) 585-2802 [for North America only] http://www.programart.com STROBE and APMPOWER are registered trademarks and APM is a registered service mark of Programart Corporation. The following are trademarks of International Business Machines Corporation: DFSMS, MVS/ESA, MVS/XA, OS/390, Parallel Sysplex, RACF, Resource Measurement Facility. The following are registered trademarks of International Business Machines Corporation: AD/Cycle, BatchPipes, BookManager, CICS, DB2, IBM, IMS/ESA, OS2, Language Environment, Software Mall, MQSeries, and VisualGen. ADABAS, NATURAL for DB2 and NATURAL are trademarks of SOFTWARE AG. Composer, COOL:Gen, and IEF are trademarks of Sterling Software. CA-eMail+, CA-MIM, CA-Multi-image Manager, and CA-OptimizerII are trademarks of Computer Associates International, Inc. CA-ACF2, CA-IDMS, CA-Optimizer, CA-Panexec, and CA-Top Secret are registered trademarks of Computer Associates International, Inc. SAS/C is a trademark of SAS Institute Inc. IAM is a registered trademark of Innovation Data Processing, Inc. Other products named in this manual may be trademarks or registered trademarks of their respective companies. 1999 by Programart Corporation All rights reserved. Technical document printed in the United States of America.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii How This Manual Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii How to Use This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii The STROBE Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii STROBE Feature Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii BookManager Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Other Programart Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix APMPOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix APMPOWER SQL Analysis Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Programart Service Offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Implementation Assistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Summary of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Changes for the STROBE DB2 Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Changes for this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 STROBE and the DB2 Operating Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 DB2 Allied Address Spaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Other DB2 Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 DB2 Services Address Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Database Services Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 System Services Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Stored Procedures Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Benefits of the STROBE DB2 Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Chapter 2. Using the STROBE DB2 Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Managing DB2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Collecting Execution Count and Average Statement Information. . . . . . . . . . . . . . . 5 Disabling the Collection of DB2 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Creating the STROBE Performance Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Activity Aggregation and Expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Procedure and Query Identification and Reporting . . . . . . . . . . . . . . . . . . . . . . . . 10 SQL Text Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Attribution Reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Chapter 3. The Performance Profile for a DB2 Allied Address Space . . . . . . . . . . 15 Reports That Show CPU Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Program Module Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Attribution Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 SQL, DBRM, Query, and Procedure Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Transaction Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Reports That Show Wait Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Choosing Between the Execution and Wait Reports . . . . . . . . . . . . . . . . . . . . . . . 17 CPU Reports for Analyzing Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Program Section Usage Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Program Usage By Procedure Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Attribution of CPU Execution Time Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 CPU Usage Reports for SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Batch Transaction Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Reports for Analyzing Wait Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 SQL Wait Time Summary Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Reports Customized for QMF and SPUFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
iv Contents
SQL CPU Usage Summary for SPUFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPU Usage by SQL Statement Reports for SPUFI . . . . . . . . . . . . . . . . . . . . . . . . SQL CPU Usage Summary Reports for QMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPU Usage by SQL Statement Reports for Saved Queries . . . . . . . . . . . . . . . . . Reporting QMF Procedure and Query Structures . . . . . . . . . . . . . . . . . . . . . . . . .
32 32 33 35 35
Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces. 39 Interpreting the STROBE Performance Profile for a DB2 DBSAS . . . . . . . . . . . . . . . 39 Measurement Session Data Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Time and Resource Demand Distribution Reports . . . . . . . . . . . . . . . . . . . . . . . . 40 Data Set Characteristics Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Data Set Characteristics Supplement Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 I/O Facility Utilization Summary Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Reports That Show CPU Activity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 STROBE Performance Profile for Stored Procedures Address Spaces . . . . . . . . . . 44 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figures
DB2 Address Spaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Application Program/DBRM Preparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 STROBE - ADD ACTIVE REQUEST Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 STROBE - OTHER PARAMETERS Panel (SPECIFYING DATA STORAGE SIZE). . . . . . . . 7 STROBE - DATA COLLECTORS Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 STROBE - DETAIL FOR A PERFORMANCE PROFILE Panel. . . . . . . . . . . . . . . . . . 11 STROBE - TAILOR REPORTS Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Measurement Session Data Report for a Batch Job . . . . . . . . . . . . . . . . . . . . . . . . 17 Program Section Usage Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Program Usage by Procedure Report for DB2 Modules . . . . . . . . . . . . . . . . . . . . . 19 Attribution of CPU Execution Time Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 SQL CPU Usage Summary Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 CPU Usage by SQL Statement Report for DBRMs . . . . . . . . . . . . . . . . . . . . . . . . . . 24 CPU Usage by SQL Statement Report for Stored Procedures . . . . . . . . . . . . . . . . 27 Transaction Usage By Control Section Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Wait Time By Module Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Attribution of CPU Wait Time Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 SQL Wait Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Wait By SQL Statement Report for DBRMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 SQL CPU Usage Summary Report for a SPUFI File . . . . . . . . . . . . . . . . . . . . . . . . . 32 CPU Usage by SQL Statement Report for SPUFI Files . . . . . . . . . . . . . . . . . . . . . . 32 SQL CPU Usage Summary Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 SQL CPU Usage Summary Report for QMF Procedures . . . . . . . . . . . . . . . . . . . . . 34 SQL CPU Usage Summary Report for QMF Procedures Using SQL=NOPROC . . 35 CPU Usage by SQL Statement Report for a Saved Query . . . . . . . . . . . . . . . . . . . . 35 CPU Usage by SQL Statement Report for Procedures . . . . . . . . . . . . . . . . . . . . . . 37 Measurement Session Data Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Time Distribution of Activity Level Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Resource Demand Distribution Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Data Set Characteristics Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
vi Figures
Data Set Characteristics Supplement Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 I/O Facility Utilization Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Program Section Usage Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Program Usage by Procedure Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Preface
This manual describes measurement concepts applicable to and specific data made available by the STROBE DB2 Feature of the STROBE MVS Application Performance Measurement System. The STROBE DB2 Feature augments functions provided by the basic STROBE system. The STROBE MVS Application Performance Measurement System and the STROBE DB2 Feature are products designed for IBM MVS/ESA systems. The STROBE DB2 Feature is designed for use with IBM DATABASE 2 (DB2) Versions 3, 4, 5, and 6 program numbers 5685-DB2, 5695-DB2, 5655-DB2 and 5645-DB2.
viii Preface
STROBE MVS Users Guide, form number STB004 and the STROBE MVS Users Guide with Advanced Session Management, form number STB006 The STROBE MVS Users Guide explains how to use STROBE to measure application performance. The STROBE MVS Users Guide with Advanced Session Management explains how to use STROBE with the STROBE Advanced Session Management Feature to measure application performance. Users who have the STROBE Advanced Session Management Feature will use this manual rather than the STROBE MVS Users Guide. STROBE MVS Glossary and Master Index, form number STB005 The STROBE MVS Glossary and Master Index contains an expanded glossary and a combined index of all the STROBE manuals. STROBE MVS Application Performance Measurement System Quick Reference Card, form number PGM001 The STROBE MVS Application Performance Measurement System Quick Reference Card is a convenient reference for how to use STROBE and for interpreting the STROBE Performance Profile.
BookManager Books
STROBE manuals are available on CD-ROM and on the product tape in IBM BookManager format.
Online Help
STROBE products provide the following online information: STROBE/ISPF Online Tutorials, Option T from the STROBE/ISPF STROBE OPTIONS menu
Preface ix
STROBE/ISPF Online Message Facility, Option M from the STROBE/ISPF STROBE OPTIONS menu.
APMPOWER
The APMPOWER Application Performance Analysis System extends the benefits of STROBE to application developers who use workstations to develop, test, and maintain MVS applications. Developers employ the APMPOWER graphical user interface and advanced analytical aids to navigate the Performance Profile, analyze and improve application performance, and share performance knowledge across the IS organization. For more information about APMPOWER, see the APMPOWER Reference Guide.
Training
Programart offers a range of training options for organizations that use STROBE and APMPOWER, including onsite training and regional public classes.
Implementation Assistance
Programart offers assistance in building the foundation of skills and procedures necessary for planning and implementing an application performance management (APM) discipline that includes STROBE and APMPOWER. Programart tailors implementation assistance to the customer's performance goals, organizational needs, and personnel structure.
x Preface
Summary of Changes
STROBE and this manual have changed for STROBE MVS for Sysplex Release 3.0. This section discusses the functional changes to STROBE, as well as the changes to this manual, from STROBE MVS for Sysplex Release 2.0.
Chapter 1. Introduction
The STROBE MVS Application Performance Measurement System is a product that determines where and how application time is spent in online regions and batch processing programs and how system resources are used. STROBE collects several types of data as it tracks activity within an MVS environment and produces a collection of reports that helps you determine where to revise applications to improve their performance. The STROBE DB2 Feature extends the functions of STROBE. With the STROBE DB2 Feature, you can measure and evaluate the performance of applications that use IBM DATABASE 2 (DB2). The Feature identifies programs and transactions that are most active within your DB2 system so you can detect opportunities to improve efficiency. This chapter describes the characteristics of the STROBE DB2 Feature and its benefits.
Tasks in the allied address space request execution of DB2 modules through cross system services to process DB2 data.
CICS
IMS DC
In the Performance Profile, execution within DB2 modules is reported for the allied address space requesting the DB2 service, while database I/O activity is shown in the DB2 Database Services Address Space (DBSAS).
TSO
Online Appl. Batch Appl.
2 Chapter 1. Introduction
Precompiler
Bind Processing
Load Module
Application Plan
Program Execution
Chapter 1. Introduction 3
SQL Processor Using File Input (SPUFI) and Query Management Facility (QMF) are special types of dynamic SQL applications that create their own DBRMs to process the user-entered SQL statements. With SPUFI, the user can specify a series of SQL statements that are contained in a single file. With QMF, the user enters SQL statements via Saved Queries, Queries by Example, Prompted Queries, or Procedures. Procedures can contain Queries, calls to other Procedures (henceforth called subprocedures), and QMF commands. For both QMF and SPUFI, the STROBE DB2 Feature differentiates between the user-entered (target) statements and the system-generated (executing) statements in the STROBE Performance Profile, and displays both types of statements in the CPU Usage by SQL Statement reports. For QMF Procedures, the STROBE DB2 Feature also displays the structure of each QMF Procedure. The application developer must consider not only the individual SQL statements but also the relationships among SQL statements and QMF commands. STROBE describes the Procedures structure, adding detailed reports that show the CPU usage for each Query and QMF command invoked by the Procedure. The STROBE CPU Usage by SQL Statement reports show CPU execution as occurring in the SQL statements that are part of a Query, Procedure, or DBRM. For dynamic SQL statements, STROBE identifies both the target and the executing SQL statement. The target statements contain the most useful information for the application developer, because those are the ones that can be modified. In some cases, information is most useful when it focuses on individual executions of Queries. When you use QMF to prototype DB2 applications, however, it may be more valuable to aggregate CPU execution from multiple Query executions into a single report. In this way you can simulate a production environment in which different users are executing the same SQL statements. STROBE offers both options for SQL reports. (For more information, see Reporting QMF Procedure and Query Structures on page 35.)
4 Chapter 1. Introduction
However, because the DB2 system services modules are executed in cross-memory mode by the allied address spaces, most of the DB2 activity is shown in the Performance Profile for the allied address space.
SYSTEM
===> SCS01
(System or clear to list available systems) ===> Y (Y or N; Use Y only when overriding defaults)
MEASUREMENT SESSION INFORMATION: SESSION DURATION ===> 1 TARGET SAMPLE SIZE ===> 10000 TSO USERID TO NOTIFY ===> WPAFXC
(Estimated time in minutes) (Target number of samples) (Notify when session completes)
SAMPLE DATA SET INFORMATION: DATA SET NAME PREFIX ===> ZZ UNIT NAME ===> WPAANY VOLUME ===>
SELECT ADDITIONAL PARAMETERS: (Y or N; Use Y only when overriding defaults) DATA COLLECTORS ===> N MODULE MAPPING DATA ===> N SESSION MANAGEMENT ===> N REQUEST RETENTION ===> N OTHER PARAMETERS ===> N
Figure 2-1. STROBE - ADD ACTIVE REQUEST Panel 2. Enter Y in the OTHER PARAMETERS field and press Enter. STROBE/ISPF displays the STROBE - OTHER PARAMETERS panel (Figure 2-2). 3. In the OTHER PARAMETERS field, specify DB2=CAPTBUFF=nnnn. The value you specify determines the number of kilobytes STROBE uses for the buffer in above the line storage to hold SQL data during intervals before the SQL data is removed from the buffer. If you set a low value for the target sample size, a long value for session duration and a high volume of SQL statements are executing during the measurement session, you should set CAPTBUFF to a higher value. The default value for CAPTBUFF is 100. You can specify a value anywhere from 100 to 9999. If you set CAPTBUFF to less than 100 kilobytes, the value will revert to 100. Note: If you are running the STROBE DB2 Feature in a multi-thread environment, above the line storage increases because one buffer is created for each thread. If you maintain the default value of 100 for CAPTBUFF, 100 kilobytes of above the line storage will be used per thread.
4. In the OTHER PARAMETERS field, specify DB2=MAXMEM=nnnn, The value you specify sets the total amount of virtual above the line storage STROBE uses for unique SQL text during the course of the measurement session. The default value for MAXMEM is 2 megabytes (DB2=MAXMEM=2000). You can specify a value anywhere from 1 to 9999. Do not set MAXMEM to a value less than the value specified for CAPTBUFF. 5. Press Enter to submit the measurement request.
------------------- STROBE - OTHER PARAMETERS --------------------------------COMMAND ===> OTHER PARAMETERS FOR JOBNAME : IMSTESA
Figure 2-2. STROBE - OTHER PARAMETERS Panel (Specifying Data Storage Size) You can specify both a CAPTBUFF and a MAXMEM value as shown above; do not use a comma or any other character to separate the parameter specifcations. If you are using the STROBE command language, specify DB2=CAPTBUFF=nnnn or DB2=MAXMEM=nnnn when you submit the ADD command to define the size of the data capture buffer.
--------------------------- STROBE - DATA COLLECTORS -------------------------COMMAND ===> OVERRIDE DATA COLLECTOR DEFAULTS FOR JOBNAME: WPAJEA DATA COLLECTORS: (Y or N; Y adds to and N removes from your system defaults) ADABAS ===> ADA3GL ===> C ===> CICS ===> COBOL ===> CSP ===> DB2 ===> Y IDMS ===> IDMS BATCH DML ===> IEF ===> IMS ===> JAVA ===> MQSERIES ===> NATURAL ===> PL/I ===> SVC ===> CICS Options: Collect Region Data ===> Y OR Detail Transaction (TRAN or TR*): => => => => => CAPTURE Options: (Y or N; default is Y) DB2 ===> IMS ===> MQ Common User Module OTHER DATA COLLECTORS: PROGRAM NAME ===> ===> Always use as default (Y/N) ===>
===>
===>
===>
With STROBE command language, specify the DB2=NOCAPTURE parameter. The capture facility will be disabled for this session of STROBE only. The next time STROBE starts, information on statement count and service time will be gathered unless you disable it as just described.
page 35. If you disable the Trace function, QMF Procedures, and some Queries with low activity levels will not be reported in the Performance Profile. You can disable the QMF Trace Attributor by specifying corresponding parameters, as described below. To set these parameters with STROBE/ISPF: 1. Enter Y in the OTHER PARAMETERS field of the STROBE - ADD ACTIVE or STROBE - ADD QUEUED panel. 2. Specify, on the STROBE - OTHER PARAMETERS panel: 3. DB2=NOQMFTRACE With STROBE command language, specify the DB2=NOQMFTRACE operand when you submit an ADD command.
DBRMs
The STROBE DB2 Feature always aggregates activity in DBRMs that have the same name and creation timestamp or package version number.
SPUFI Files
The STROBE DB2 Feature does not aggregate activity in SPUFI files.
aggregates Procedures when they invoke the same Queries, Procedures, and QMF commands in the same order, and when all invoked Queries and Procedures are unchanged. When calculating totals, STROBE groups all stand-alone executions of a Query all stand-alone executions of a Procedure, including one with Subprocedures consecutive invocations of a single Query or first-level Subprocedure within the same Procedure (STROBE does not aggregate any Subprocedures below first-level) When procedures invoke Queries, other Procedures and QMF commands, the STROBE DB2 Feature displays the structure of the procedure and shows the order in which they were invoked. When other procedures are invoked as subprocedures, STROBE shows whatever statement or procedure they invoke. See the section called Reporting QMF Procedure and Query Structures on page 35 for a complete explanation of how these activities are reported.
For a complete list of the options that you can specify in the OTHER PARAMETERS field, see Chapter 3 of the STROBE MVS Users Guide or STROBE MVS Users Guide with Advanced Session Management.
--------- STROBE COMMAND ===> - DETAIL FOR A PERFORMANCE PROFILE ------------------------
SAMPLE DATA SET: WPANAC.WPAJPS.S001D001 REPORT OPTIONS: TITLE ===> COMPRESS ===> AAA =.AAAA ===> =. ===> =. ===> =. ===> ===> ===> ===> ===> ===> SORT SIZE ===> ===> ===> ===> ===> =. =. =. =. ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> LINES/PAGE ===> =. =. =. =.
DETAIL
RESOLUTION ===> 32
To set these parameters with STROBE/ISPF: 1. Enter Y in the Detail Reports field of the STROBE - PRODUCE A PERFORMANCE PROFILE panel.
2. In the OTHER PARAMETERS field on the STROBE - DETAIL FOR A PERFORMANCE PROFILE panel, specify: SQL=CPUTEXT= nn.n where nn.n equals the percentage of CPU time consumed, or SQL=WAITTEXT=nn.n, where nn.n equals the percentage of wait time observed for a SQL statement during a measurement session. (You can specify both CPUTEXT and WAITTEXT.) Any value for a SQL statement greater than the percentage specified will cause STROBE to report all of the available SQL text for the statement. For statements that do not exceed the thresholds specified by either CPUTEXT or WAITTEXT, STROBE truncates the text to a specified number of characters. The MAXLEN=nnnn operand controls the number of characters STROBE prints for SQL statements that fall below the threshold values you specified. You must specify a value between 0 and 9999 (default 300) for nnnn. Note: If you enter a value that is not a multiple of 100, STROBE rounds up to the next hundred.
To suppress the SQL text for statements that do not exceed the specified thresholds , enter 0. To print all available text for all SQL statements, specify 0 for CPUTEXT, 0 for WAITTEXT and 9999 for MAXLEN. With the STROE or STROXE procedure, specify the SQL=MAXLEN=nnnn option or SQL=CPUTEXT=nn.n or SQL=WAITTEXT=nn.n options.
Attribution Reporting
To limit or suppress the Attribution of CPU Execution Time and Wait Time reports in the Performance Profile, specify corresponding parameters on the STROBE - TAILOR REPORTS panel, as shown in Figure 2-5 on page 13.
1. Enter Y in the Tailor Reports field of the STROBE - PRODUCE A PERFORMANCE PROFILE panel. 2. On the STROBE - TAILOR REPORTS panel, enter Y in the Suppress reports for portion of the ATTRIBUTION REPORTS field (Figure 2-5). With the STROE or STROXE procedure, specify the NOATTR parameter.
--------------------------- STROBE - TAILOR REPORTS --------------------------COMMAND ===> WAIT TIME BY MODULE -- Show location of wait ===> (Specify Y) -------------- Report --------------- Compress below OR Suppress (Specify Y) PROGRAM USAGE BY PROCEDURE ===> % ===> DASD USAGE BY CYLINDER ===> 02.0 % ===> TRANSACTION USAGE BY CONTROL SECTION ===> % ===> CICS TRANSACTION PROFILE ===> sec ===> CICS REGION LEVEL ===> sec ===> MQSERIES CALLS ===> % ATTRIBUTION Reports ===> % ===> Y Suppress reports for: C ===> CICS ===> COBOL ===> CSP ===> DB2 ===> Y DL/I ===> IDMS ===> IEF ===> MQSERIES ===> PL/I ===> SVC ===> ===> PROGRAM SECTION USAGE SUMMARY Display inactive ===> TIME and RESOURCE DEMAND DISTRIBUTION Combine tasks ===> Display all tasks ===> Display all DDs ===> CICS TRANSACTION PROFILE FILTERS => Suppress non-CICS TRANSACTION REPORTS ===> USE DATE AND TIME FORMAT FROM PARMLIB ===> => => (Specify Y) => =>
With the STROE or STROXE procedure, specify the SQL=NOPROC operand. Note: The SQL=DETAIL=PROC option (discussed in the section titled Separating Procedures and Queries into Individual Entities on page 10) and the NOPROC option are mutually exclusive.
Throughout the STROBE Performance Profile, STROBE reports activity in DB2 system modules to pseudo-sections within the pseudo-module .SYSTEM, as shown below. Module Name Prefix DSN DSQ DXR Pseudo-Section .DB2 .QMF .IRLM Function DB2 system services Query management DB2 resource locking
You can obtain detailed reporting on activity within a DB2 module or control section by specifying the module name in the DETAIL parameter when you generate the Performance Profile. For more information, see Chapters 2 and 4 of the STROBE MVS Users Guide. For more information on STROBE pseudo-entities, see Appendix A of STROBE MVS Concepts and Facilities.
Attribution Reports
Attribution of CPU Execution Time reports for batch programs identify the callers of DB2 system modules by transaction name and by SQL statement within DBRM, or SQL statement within Query When a DB2 service module shows high CPU usage, its Attribution of CPU Execution Time report identifies all statements that invoked the service.
Transaction Reports
The Transaction Summary and Transaction Usage by Control Section reports identify which transactions are responsible for CPU activity in online address spaces. These reports are helpful when you want to see transaction and CPU usage in CICS response time statistics DB2 service modules do not account for a majority of the CPU activity you want to see plan names for batch jobs
The Attribution of CPU Wait Time identifies the percentage of wait time spent in an invoked system routine as a result of the routine that invoked it. The SQL Wait Time Summary report shows the distribution of wait time among Queries, Procedures, and DBRMs. The Wait Time by SQL Statement report shows the distribution of wait time among SQL statements in a Procedure, Query, or DBRM.
SCS01
--------- REPORT PARAMETERS --------SYSTEM DFSMS SUBSYSTEM DB2SUBSYSTEMIDDB2 APPLICATION CPU MODEL SMF/SYSTEM IDREGION SIZE BELOW 16M REGION SIZE ABOVE ESA SP4.3.0 1.1.0 DB2 3.1.0 WPA1 DB2COPYD 3090-600S SESA/SCS01 1,088K 32,768K REPORT RESOLUTION SORTSIZE LINES/PAGE DASD= 2.0% DASDGAP=5 32 BYTES 999,999 60 ATTR=0.0%
STRETCH TIME -
4 MIN
PTF LEVEL 2.3.0. FS000000/FS000000 STROBE TAPE NUMBER 000/S00DSK SAMPLE DATA SET - ZZ.WPALXMA3.S002D001
Figure 3-1. Measurement Session Data Report for a Batch Job The report shows the CPS time percent is 94.46. To reduce CPU time consumption, first determine what is using CPU time by examining the Program Section Usage Summary and the Transaction reports. If you determine that the majority of time is being consumed by application programs, the STROBE MVS Concepts and Facilities provides a detailed example of how to use the Performance Profile to reduce application program CPU usage. If STROBE finds a significant amount of wait time, seeReports for Analyzing Wait Time on page 29.
MODULE SECTION 16M NAME NAME <,> .SYSTEM .SYSTEM .SYSTEM .SYSTEM .SYSTEM .SYSTEM IGC0004B IRARMFIP IRARMGLU TESTBC3 TESTBC3 TESTBC3 .DB2 TESTBC3 TOTALS < .DB2 .IRLM .NUCLEUS .SVC .XMEMORY TOTALS > > <
2.61% 88.00
DB2 SYSTEM SERVICES RESOURCE LOCK MANAGER MVS NUCLEUS SUPERVISOR CONTROL CROSS MEMORY SYSTEM SERVICES 7688 SUPERVISOR SERVICES 4640 SYSTEM RESOURCE MGMT 240 SYSTEM RESOURCE MGMT 5856 DB2 SYSTEM SERVICES 31072 36928
.*************************************** . .** . .
. . . . .
MODULE NAME DSNAPRH DSNB1CLM DSNB1CMU DSNB1CPS DSNB1GET DSNB1OFA DSNB1REL DSNB1SPF DSNCEXT1 DSNCEXT3 DSNCSM31 DSNGEDM DSNIDM DSNIDM ... DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNIDM DSNKDM DSNRGLM1 ... DSN3EPX DSN3EPX DSN8EAE1
** PROGRAM USAGE BY PROCEDURE ** .DB2 DB2 SYSTEM SERVICES INTERVAL CPU TIME PERCENT CPU TIME HISTOGRAM MARGIN OF ERROR: LENGTH SOLO TOTAL .00 6.00 12.00 18.00 504 6880 3848 7760 12832 3768 7432 5840 7176 4576 2584 173096 5392 11200 2664 4752 5240 4968 32112 11000 6696 3216 7608 8488 25952 12344 4104 6640 14024 1896 18168 7824 848 339072 24656 5432 256 504 .19 .07 .02 .03 1.74 .03 .66 .05 1.31 .36 .55 .12 .17 .02 .05 .03 .03 .41 3.69 .12 .03 .98 .07 .05 .46 .03 .02 43.45 6.71 .09 .20 .15 .17 .46 .03 1.69 .44 1.70 ----87.26 .20 .09 .02 .03 1.82 .05 1.18 .05 1.33 .39 .55 .12 .17 .02 .05 .03 .03 .46 3.78 .14 .05 1.07 .09 .05 .49 .03 .02 43.45 6.75 .09 .22 .17 .19 .49 .03 1.72 .55 1.74 ----87.27 . . . . .**+ . .* . .** . . . . .
1.28% 24.00
DSNIBCTD DSNICMT2 DSNIMSAR DSNIMSCU DSNIMSMS DSNINXTP DSNIOSET DSNIPSFI DSNIPSI DSNIREDR DSNIRIDL DSNIRIDR DSNIRNXT DSNIRSET DSNISELK DSNISFED DSNISFS DSNISM DSNISRID DSNITCUS DSNIZLDE
PGM REQUEST APPL INTERF CLAIM PGSET/PART BUFFER MGR COMMIT CSECT CLOSE PG SET RETRIEVE REQUESTED PAGE LOCATE PAGSET BLOCK (PB PAGE RELEASE ROUTINE SCH NORML PFTCH IN SEQ CICS ATTACHMNT EXITS CONNECTION SUBTASK CICS ATTACH MODULE 3.1 DATA MGT, DBD/SKCT RTNS LOCATE/CREATE A CTDB DM COMMIT PHASE2 PROCED RELEASE ALL MSA RESOURC RECORD OF MSA TO A CUB GET NEW REC,RLSE OLD RE READ SPECFD PAG USNG MS WRT TRACE FOR IX SCAN LOCATE/CREATE FILE PSCB LOCATE/CREATE INDEX PSC EXECUTE DB PROCEDURES LOOP, ENTR RID IN RIDLS IX ONLY, RETRV RID LIST FETCH NEXT ROW TO PROG SET A CUB BY RID EVAL SELECTION EXPRESIO EVAL SET FUNCTS WITH RE TS, EVAL SET FUNS FR GR DATA MGRS STOR MGR SET CUB BY LST OF RIDS MSI SET CUB STAT=BEFOR DECOMPRES DB2 ROW, Z-L DM INDEX MNGMNT FUNCTIO RMC IEPL MODULE/GLOBAL
DSNAPRHX DSN3AA
.DB2
TOTALS
Figure 3-3. Program Usage by Procedure Report for DB2 Modules As the highlighted area of the report shows, DB2 section DSNISFED of module DSNIDM, accounts for 43.45% of the CPU activity. To determine which transactions and SQL statements caused the activity, examine the Attribution reports for this module and control section.
** ATTRIBUTION OF CPU EXECUTION TIME ** .DB2 DSNISFED AGNT SERV/LATCH MGT DRVR ---------------------------WAS INVOKED BY--------EXECUTING--------------------TARGET------------------------ CPU TIME % XACTION QUERY NAME TIME STMT TEXT STMT TEXT SOLO TOTAL TESTBH31 TESTBC3 12:58:05 1159 FETCH 01 DECLARE .07 .07 ----- ----.07 .07
.DB2 DSNVRMEL RESOURC MGR LINKAGE CNTL ---------------------------WAS INVOKED BY--------EXECUTING--------------------TARGET------------------------ CPU TIME % XACTION QUERY NAME TIME STMT TEXT STMT TEXT SOLO TOTAL TESTBH31 TESTBC3 12:58:05 1954 FETCH 03 DECLARE 1.13 1.13 ----- ----1.13 1.13
.DB2 DSNXEEZ DSNXEEZ DATA BASE PROGRM REQUEST ---------------------------WAS INVOKED BY--------EXECUTING--------------------TARGET------------------------ CPU TIME % XACTION QUERY NAME TIME STMT TEXT STMT TEXT SOLO TOTAL TESTBH31 TESTBC3 12:58:05 1954 FETCH 03 DECLARE 3.82 3.82 ----- ----3.82 3.82
.DB2 DSNXGRDS DSNXEBR LINK CSECT RDS/ACCES MOD ---------------------------WAS INVOKED BY--------EXECUTING--------------------TARGET------------------------ CPU TIME % XACTION QUERY NAME TIME STMT TEXT STMT TEXT SOLO TOTAL TESTBH31 TESTBC3 12:58:05 1954 FETCH 03 DECLARE 2.90 2.90 ----- ----2.90 2.90
.DB2 DSNXGRDS DSNXECP COPY APPLCTN STRUCTURES ---------------------------WAS INVOKED BY--------EXECUTING--------------------TARGET------------------------ CPU TIME % XACTION QUERY NAME TIME STMT TEXT STMT TEXT SOLO TOTAL TESTBH31 TESTBC3 12:58:05 1954 FETCH 03 DECLARE 6.58 6.58 ----- ----6.58 6.58
Header Lines The report header identifies the invoked routine, showing its pseudo-module, module, and control section name (when available) a function descriptor for either the control section or the module Detail Lines Each report detail line for a DB2 service routine identifies the SQL statement that invoked the module and displays a transaction name, if one is available the name of the SQL statement, DBRM, or Query the time that the module was created its SQL statement number (if available) the executed SQL statements type and the target statements number and type the solo and total CPU time spent on behalf of the invoker
Total Line The total line shows the total time attributed to the invokers of the module. It may be less than the time shown in the Program Usage by Procedure or Most Intensively Executed Procedures reports because STROBE cannot always identify an invoker of a service routine. If you want to examine an SQL statement on the Attribution of CPU Execution Time Report in more detail, see CPU Usage by SQL Statement Report on page 23.
To increment the count and adjust the service time of dynamic non-cursor SQL statements, STROBE must have measured the initial PREPARE statement to correlate it with the corresponding subsequent EXECUTE statement. A higher sampling rate will produce more complete counts. To increment the count and adjust the service time of dynamic cursor SQL statements, STROBE must have measured the PREPARE and OPEN statements of the cursor to correlate FETCH statement(s) to the SELECT statements. A higher sampling rate will produce more complete counts. When execution time is negligible for a SQL statement, STROBE rounds the amount to zero and a service time of .0000 is reported.
SQL TYPE DBRM DBRM DBRM SQL NAME SQLDYNAM SQLDYNM1 SQLDYNM2 STMT-EXECUTION CNT AVG TIME 5734 492 5270 .0244 .1392 .0206 ** SQL CPU USAGE SUMMARY ** TIME/COUNT % CPU TIME SOLO TOTAL 16:13:36 23JUN99 16:13:06 23JUN99 16:12:38 23JUN99 46.22 11.43 16.24 ----73.89 46.53 13.53 22.69 ----82.75 CPU TIME HISTOGRAM MARGIN OF ERROR: .00 12.50 25.00 37.50 .******************************** .********++ .***********+++++ 1.28% 50.00
Figure 3-5. SQL CPU Usage Summary Report SQL TYPE In the SQL TYPE column of the report, the STROBE DB2 Feature abbreviates the type of the executing SQL application. The following abbreviations denote the types of SQL encountered during the measurement session. STROBE Abbreviation DBRM CMD QSAV PRM QBE SQL QRY SPUF QPROC SUBPROC Complete SQL Type Database request module QMF command Saved Query Prompted Query Query by example Interactive SQL Query invoked by a Procedure SPUFI input file QMF Procedure An embedded QMF Procedure
STROBE displays the applications in the following order, regardless of the actual order of execution: DBRM, SPUFI files, Saved Queries, Prompted Queries, Queries by Example, Interactive SQL statements, QMF commands, and Procedures. Within each category, the applications are sorted first by name and second by time and date. (If the Query does not have a name, the sort order is unpredictable.) For example, if two
Saved Queries named CHKNAME contain different SQL statements and are executed at 08:25 and 10:15, respectively, STROBE displays two separate detail lines for CHKNAME and reports first the information for the execution at 08:25. SQL NAME In this column, STROBE displays the actual DBRM, package, procedure or query name. STMT CNT In this column, STROBE displays the total number of statement executions during the measurement session. This information only appears for DBRMs and SQL executed by the Remote Resource Services Attachment Facility (RRSAF). EXECUTION AVG TIME In this column, STROBE displays a weighted average for the number of seconds it took for all statements to execute. This information only appears for DBRMs and SQL executed by the Remote Resource Services Attachment Facility (RRSAF). Note: If you are using the Call Attachment Facility and a DSNTRACE DD statement is present in the job you are measuring, the statement count and execution average times reported by STROBE will be inaccurate.
TIME/COUNT STROBE determines the contents of this column from the DBRM, Query or Procedure type, the number of times they executed, and the SQL options the user specified when generating the Performance Profile. Depending on what STROBE is measuring, the column displays different kinds of information. For a DBRM, STROBE displays the time and date the DBRM was created. If the Query was executed once or SQL=DETAIL=QUERY was specified, STROBE displays the time and date the Query executed. For queries that execute more than once, the number of times that Query executed is displayed. For a SPUFI file, STROBE displays the time and date the SPUFI file was executed. If the Procedure was executed once, or if SQL=DETAIL=PROC was specified, STROBE displays the time and date the Procedure was executed. Otherwise, STROBE displays the number of times the SQL statement was executed. As shown in this report example, a DBRM named SQLDYNAM accounted for 46.53% of the CPU time. The next step is to examine the SQL statements within this DBRM.
The Procedure reports display the structure of the Procedure, as well as information about the number of times each constituent Query, QMF command, and first-level Subprocedure was executed. (For a complete description of the CPU Usage reports for Procedures, see Reporting QMF Procedure and Query Structures on page 35.)
** CPU USAGE BY SQL STATEMENT ** DBRM - SQLDYNAM STATIC, NON-CURSOR SQL 253 SELECT FIRSTNME INTO :H FROM VEMP WHERE FIRSTNME=LEO PIO: YES 258 SELECT COUNT(*) INTO :H FROM WPALXM.PIOTABLE PIO: YES 262 SELECT COUNT(*),AVG(FIELD1) INTO :H,:H FROM WPAKRM.QAINTTB PIO: YES STATIC, CURSOR SQL 01 DECLARE QAPIO CURSOR FOR SELECT COUNT(*),AVG(FIELD1) FROM WPAKRM.QAINTTB PIO: YES 02 DECLARE EMP01 CURSOR FOR SELECT EMPNO FROM VEMP 08 DECLARE DEPT1 CURSOR FOR SELECT DEPTNO,ADMRDEPT FROM VDEPT DYNAMIC, NON-CURSOR SQL 07 UPDATE BOSTON01.DSN8310.VPHONE SET MIDDLEINITIAL=???? DYNAMIC, CURSOR SQL 03 04 05 06 STMT NUMBER 253 258 262 282 308 392 334 343 355 366 404 414 285 296 306 320 SELECT SELECT SELECT SELECT EMPNO FROM DSN8310.VEMP DEPTNO FROM DSN8310.VDEPT ADMRDEPT FROM DSN8310.VDEPT DEPTNUMBER FROM DSN8310.VPHONE STMT-EXECUTION CNT AVG TIME % CPU TIME SOLO TOTAL CPU TIME HISTOGRAM .00 4.50 MARGIN OF ERROR: 9.00 13.50 1.28% 18.00 LOCATION: BOSTON01 CREATED - 23 JUN 99 16:12:38
STATEMENT TEXT SELECT SELECT SELECT OPEN OPEN OPEN FETCH FETCH FETCH FETCH FETCH FETCH CLOSE PREPARE PREPARE PREPARE
10 9.99 .19 .48 20 18.32 1.38 3.20 3 3.90 6.24 13.06 02 DECLARE 4 5.05 .00 .02 04 SELECT 134 66.45 .02 .02 05 SELECT 6 7.34 .02 .02 08 DECLARE 21 24,11 .10 .14 01 DECLARE 7 8.11 9.12 18.82 02 DECLARE 12 14.56 2.95 3.85 03 SELECT 8 9.21 4.31 5.05 04 SELECT 13 14.23 .12 .15 05 SELECT 11 12.22 .29 .29 02 DECLARE 5 6.23 .02 .02 03 SELECT 3 4.31 1.09 1.35 04 SELECT 9 10.66 1.26 1.52 07 UPDATE 2 2.44 2.26 2.50 --- -----------DBRM - SQLDYNAM TOTALS 258 54.32 29.37 46.53 *STROBE (R) IS LICENSED BY PROGRAMART CORPORATION FOR USE BY PROGRAMART
CORPORATION
Figure 3-6. CPU Usage by SQL Statement Report for DBRMs Report Header Description If the CPU Usage by SQL Statement report is for a DBRM, Query, or SPUFI file, or if the user specified SQL=DETAIL=PROC when generating the Profile, STROBE displays a header showing the DBRM, Query, or SPUFI file name, and the following: for DBRMs, the creation date and time stamp for Queries that were executed once during the measurement session, or the user specified SQL=DETAIL=QUERY when generating the Profile, the execution time and date
for SPUFI files, the execution time and date for Queries that were executed more than once during the measurement session, the number of times that Query was executed for Procedures that executed once, or if SQL=DETAIL=PROC was specified when the Profile was generated, STROBE displays the time and date the Procedure was executed. Otherwise, STROBE displays the number of times the DBRM was executed. SQL Statement Identification SQL statements are listed under the following headings: Static, Non-cursor SQL, Static, Cursor SQL, Dynamic, Non-cursor SQL, or Dynamic, Cursor SQL . If STROBE encounters Static, Non-cursor SQL statements, each detail line begins with the precompiler listing statement number followed by statement type. The statement number generated for nonexecutable statements is not made available to DB2 during execution. Nonexecutable statements can only be embedded in an application program and include precompiler declaratives such as DECLARE CURSOR and WHENEVER. In the CPU activity section of the report, STROBE begins detail lines with the precompiler statement number followed by the SQL verb. Under the heading STATEMENT TEXT, for SQL verbs with target SQL statements, STROBE displays the generated statement number and the SQL verb of the target statement. Statement numbers greater than 32k report as blank because of a DB2 restriction. For nonexecutable SQL statements, STROBE shows a uniquely generated statement number. The statement number is based on the sequence in which activity is detected for a statement. This generated number is used to correlate the executable statement, for example OPEN or FETCH, with the target DECLARE CURSOR statement. STROBE also replaces any arguments in dynamic statements with ???? and aggregates activity in each SQL statement that has the same row/column name and operand. For example, STROBE combines activity in the statements SELECT name=William and SELECT name=Paul, and reports it as SELECT name=????. For security, STROBE also replaces each character in a password or DSETPASS with a pound sign (#). Host variables may be replaced by :H. If the report is for a Procedure, STROBE shows the structure of the Procedure, displaying any embedded Queries, QMF commands, and Subprocedures. The Procedures name precedes either a date and time or, if the Procedure was executed more than once and SQL=DETAIL=PROC was not specified when the Profile was generated, the number of times it was executed. The example in Figure 3-6 on page 24 illustrates a report for a DBRM that uses both static and dynamic SQL statements. In the Query description, SQL statements are grouped by their type: Static, Non-cursor SQL, Static, Cursor SQL, Dynamic, Non-cursor SQL, or Dynamic, Cursor SQL). For more information on how to control the length of the text shown for a SQL statement, see Creating the STROBE Performance Profile on page 9. LOCATION The STROBE DB2 Feature offers limited support of remote SQL for DB2 Version 3 Release 1 and above. It reports location name for SQL statements querying against remote objects. The location name is indented on the line following the SQL text. If the SQL statement references objects at more than one remote location, the location name field displays MANY. For application programs using IBMs Application Directed
SQL, the STROBE DB2 Feature does not have access to full SQL statement text. Activity is reported using the precompiler statement number and SQL verb. SQL statements that reference both remote and local objects in different execution instances are labeled with the remote location name. All cursor operations issued under Application Directed SQL are categorized as Static, Cursor SQL. In this release, location information is provided for DBRMs and SPUFI queries only. SQL statements executed remotely may show significant wait time. Occasionally, remote SQL will be reported without accompanying CPU activity. When this happens, refer to the Attribution Of CPU Wait Time report for percentages of wait attributed on behalf of the SQL. In addition, execution and wait time attribution reports for remote SQL may show attribution to VTAM interface module ISTAICIR on behalf of the SQL. The CPU percentage shown in the CPU Usage By SQL Statement report for remote SQL does not include the remote site activity. PARALLEL If the DB2 Optimizer determines that an SQL statement meets the requirements for using parallel processing, STROBE displays a PARALLEL indicator for that SQL statement. This indicator appears on the line following the SQL text, and is followed by one or more fields that provide more specific information about the type of parallel processing observed. The PARALLEL indicator is not displayed for SQL statements that are not eligible. The following table lists the fields that appear with the PARALLEL indicator. Field ELIG=YES|NO PIO=YES|NO CPU=YES|NO STMT-EXECUTION CNT In this column, STROBE displays the number of times the statement executed. This information only appears for DBRMs and SQL executed by the Remote Resource Services Attachment Facility (RRSAF). See CPU Usage Reports for SQL on page 21 for limitations on SQL statement count reporting. STMT-EXECUTION AVG TIME In this column, STROBE displays the average time the statement took to execute. This information only appears for DBRMs and SQL executed by the Remote Resource Services Attachment Facility (RRSAF). Note: If you are using the Call Attachment Facility and a DSNTRACE DD statement is present in the job you are measuring, the statement count and execution average times reported by STROBE will be inaccurate. Indicates whether or not the SQL statement was eligible for parallel processing. used parallel I/O was split and processed by multiple CPUs
CPU TIME SOLO Percentage of time STROBE found only CPU servicing the SQL statement, with no concurrent I/O activity. CPU TIME TOTAL Percentage of time STROBE found the SQL statement engaged in activity with or without concurrent I/O activity.
** CPU USAGE BY SQL STATEMENT ** DBRM - DB41STPC STATIC, NON-CURSOR SQL 89 CALL DB41STPD(:H,:H,:H,:H,:H,:H :H,:H :H,:H :H,:H :H,:H :H,:H :H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H ,:H,:H,:H,:H,:H,:H) 130 CALL DB41STPD(000140,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H,:H ,:H,:H) STMT STATEMENT CPU TIME PERCENT CPU TIME HISTOGRAM MARGIN OF ERROR: 5.58% NUMBER TEXT SOLO TOTAL .00 6.50 13.00 19.50 26.00 89 CALL 130 CALL DBRM - DB41STPC TOTALS 24.60 15.21 ----39.81 24.60 15.21 ----39.81 .************************************* .*********************** CREATED - 24 MAY 99 4:02:32
Figure 3-7. CPU Usage by SQL Statement Report for Stored Procedures The CPU time shown reflects the time utilized in executing the call statement. This time does not include CPU usage associated with the actual SQL statements contained and executed within the stored procedure. To gather CPU information associated with the execution of the stored procedure, you must measure the DB2 stored procedures address space (SPAS) concurrently with measuring the job that issues the CALL verb. The CPU usage shown for the stored procedure in the Performance Profile from the SPAS measurement may reflect multiple users invoking the same stored procedure. Note: The STROBE Advanced Session Management Feature enables you to make requests to measure address spaces concurrently. When one measurement starts, you can designate other sessions to also begin. See STROBE MVS Users Guide with Advanced Session Management for details about making concurrent measurements.
that activity to the pseudo-transaction .DB2. When the STROBE DB2 Feature observes CPU activity in non-DB2 programs, it assigns that activity to the pseudo-transaction .NONDB2. Note: STROBE does begin assigning non-DB2 CPU activity to .NONDB2 until it detects DB2 CPU activity. As a result, the total of non-DB2 CPU activity and DB2 CPU activity may not always equal 100 percent.
When you measure an online subsystem, the transaction reports show which transactions were responsible for most of the CPU activity. These reports are helpful when you want to see CPU usage for the transaction and CICS response time statistics the major CPU activity is not in DB2 service modules DBRMs are shared among transactions For a description of transaction report examples for CICS measurements, see the section called SQL CPU Usage Summary for SPUFI on page 32.
** TRANSACTION USAGE BY CONTROL SECTION ** TRANSACTION TESTBH31 MODULE SECTION NAME NAME COMPRESSED .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .DB2 .IRLM .IRLM .NUCLEUS .NUCLEUS .XMEMORY IRARMFIP IRARMGLU TESTBC3 TESTBC3 DSNB1GET DSNB1REL DSNB1SPF DSNECP10 DSNIDM DSNIDM DSNIDM DSNSLD1 DSNSLD1 DSNSLD1 DSNTLM DSNVGEPL DSNVRMEL DSNXEEZ DSNXGRDS DSNXGRDS DSNXGRDS DSNXGRDS DSNXGRDS DSNXGRDS DSN3EPX DSN3EPX DXRRLM10 DXRRLM60 IEAVTSFR IEAVXSTK .XMEMORX CPU TIME PERCENT SOLO TOTAL .99 .28 .07 1.70 .14 .07 12.23 .07 2.05 2.12 .14 .07 1.13 3.82 2.90 6.58 15.49 7.43 4.60 10.25 12.80 2.26 .42 .57 1.41 4.60 1.41 1.63 .14 1.77 .50 ----99.64 .99 .28 .07 1.70 .14 .07 12.23 .07 2.05 2.12 .14 .07 1.13 3.82 2.90 6.58 15.49 7.43 4.60 10.25 12.80 2.26 .42 .57 1.41 4.60 1.41 1.63 .14 1.77 .50 ----99.64 CPU TIME HISTOGRAM .00 4.00 MARGIN OF ERROR: 8.00 12.00 2.61% 16.00
FUNCTION
.DB2 TESTBC3
DSNELI
RETRIEVE REQUESTED PAGE PAGE RELEASE ROUTINE SCH NORML PFTCH IN SEQ CNTL CSECT FOR DSNECP10 REPLAC POSBLY DISCON/CON READ SPECFD PAG USNG MSA FETCH NEXT ROW TO PROG GET/FREE FIX-LEN STORAGE STORAGE MGR STACK PROCSR STACK STORAGE PROCESSOR IRLM SERVICE ROUTINES AGNT SERV/LATCH MGT DRVR RESOURC MGR LINKAGE CNTL DATA BASE PROGRM REQUEST LINK CSECT RDS/ACCES MOD COPY APPLCTN STRUCTURES TOPMOST RDS CSECT APPLICATION CALL ROUTINE RTIME FTCH NXT PROCESSNG RUN-TIME RET VALUES EXEC DB2 SYSTEM SERVICES DB2 SYSTEM SERVICES IRLM IRLM SETFRR SERVICE S/B PCLINK STACK/UNSTACK EXTENDED CROSS MEMORY SYSTEM RESOURCE MGMT SYSTEM RESOURCE MGMT TSO ATTACH LANG INTERFCE
.** . . .**** . . .****************************** . .***** .***** . . .** .********* .******* .**************** .************************************** .****************** .*********** .************************* .******************************** .***** .* .* .*** .*********** .*** .**** . .**** .*
TRANSACTION TESTBH31
TOTALS
GET/FREE VAR-LEN STORAGE SUSP/RES/CANCEL SYNCHRON DESC IEPLS SSAM GLB PAGE DB2 SYSTEM SERVICES
. .++++++++++++++++++++++++++ .
** ATTRIBUTION OF CPU WAIT TIME ** .DB2 DSNVSR SUSP/RES/CANCEL SYNCHRON ---------------------------WAS INVOKED BY-------------------------------------VIA----------------------- WAIT TIME % XACTION MODULE SECTION RETURN LINE PROCEDURE NAME MODULE SECTION FUNCTION PAGE TOTAL DSNESPRR DSNESPRR .DB2 DSNESPRR .DB2 XACTION .00 .36 .00 .05 .00 25.16 STMT TEXT 02 DROP DATABASE AGNT SERV/LATCH MGT 04 COMMIT AGNT SERV/LATCH MGT 06 CREATE TABLESPACE AGNT SERV/LATCH MGT 07 CREATE TABLE AGNT SERV/LATCH MGT .00 DRVR .00 DRVR .00 DRVR .00 DRVR .09 1.20 2.12 .01
DSNBBM DSNVGEPL
DB2 SYSTEM SERVICES AGNT SERV/LATCH MGT DRVR TIME 13:30:24 13:30:24 13:30:24 13:30:24 STMT TEXT EXECUTE VIA MODULE DSNVGEPL EXECUTE VIA MODULE DSNVGEPL EXECUTE VIA MODULE DSNVGEPL EXECUTE VIA MODULE DSNVGEPL
QUERY NAME
DSNESPRR SIMT0001 DSNESPRR SIMT0001 DSNESPRR SIMT0001 DSNESPRR SIMT0001 . . . DSNESPRR SIMT0001 DSNESPRR SIMT0004
13:30:24 13:37:00
08 CREATE INDEX AGNT SERV/LATCH MGT DRVR 03 INSERT AGNT SERV/LATCH MGT DRVR
.00 .00
.56 .61
1.28% 50.00
PAGE shows wait time that results from retrieving a page from the page data set. A high value in this column indicates that there is not enough physical memory assigned to the address space. If you noticed a high page rate on the Measurement Session Data report, the Wait by SQL Statement report shows you which statement was experiencing delay because of paging. TOTAL measures all causes of wait time, including page retrieval, programmed I/O operations, and timer requests.
** WAIT BY SQL STATEMENT ** DBRM - DB31PRA4 STATIC, NON-CURSOR SQL 253 SELECT FIRSTNME INTO :H FROM VEMP WHERE FIRSTNME=LEO PIO: YES 258 SELECT COUNT(*) INTO :H FROM WPALXM.PIOTABLE PIO: YES 262 SELECT COUNT(*),AVG(FIELD1) INTO :H,:H FROM WPAKRM.QAINTTB PIO: YES STATIC, CURSOR SQL 01 DECLARE QAPIO CURSOR FOR SELECT COUNT(*),AVG(FIELD1) FROM WPAKRM.QAINTTB PIO: YES 02 DECLARE EMP01 CURSOR FOR SELECT EMPNO FROM VEMP 08 DECLARE DEPT1 CURSOR FOR SELECT DEPTNO,ADMRDEPT FROM VDEPT DYNAMIC, NON-CURSOR SQL 07 UPDATE BOSTON01.DSN8310.VPHONE SET MIDDLEINITIAL=???? DYNAMIC, CURSOR SQL 03 04 05 06 STMT NUMBER 253 258 262 282 308 392 334 343 366 404 414 285 SELECT SELECT SELECT SELECT EMPNO FROM DSN8310.VEMP DEPTNO FROM DSN8310.VDEPT ADMRDEPT FROM DSN8310.VDEPT DEPTNUMBER FROM DSN8310.VPHONE STMT-EXECUTION CNT AVG TIME 9 20 4 2 134 2 1 1 8 2 5 7 ---195 .99 22.32 3.90 1.05 145.12 4.11 2.11 2.11 36.21 .11 .11 3.19 -----117.56 % RUN TIME SOLO TOTAL .99 10.60 .46 .23 22.12 .23 .23 .23 .92 .23 .46 .69 ---36.40 .99 .06 .46 .23 29.03 .23 .23 .23 1.38 .46 .46 .92 ---45.68 RUN TIME HISTOGRAM .00 4.50 MARGIN OF ERROR: 9.00 13.50 1.28% 18.00 LOCATION: BOSTON01 CREATED - 23 JUN 99 16:12:38
STATEMENT TEXT SELECT SELECT SELECT OPEN FETCH FETCH EXEC IMMEDIATE FETCH PREPARE PREPARE PREPARE PREPARE
02 04 05 08 01 03 04 05 02
TIME/COUNT
CPU TIME PERCENT SOLO TOTAL 17.82 29.24 8.82 ----47.88 18.54 29.24 8.82 ----48.60
CPU TIME HISTOGRAM MARGIN OF ERROR - 1.25% .00 8.00 12.00 18.00 24.00 .*****************************+++ .*********************************** .***********
Figure 3-13. SQL CPU Usage Summary Report for a SPUFI File
SELECT * FROM DSN8110.EMP UPDATE VEMPLOYEE SET PHONENUMBER = ???? WHERE EMPLOYEENUMBER = ???? GRANT BSDS,RECOVER TO PARKER,LUTZ CPU TIME PERCENT SOLO TOTAL 01 01 01 02 03 02 03 SELECT SELECT SELECT UPDATE GRANT UPDATE GRANT TOTALS 1.08 8.54 2.72 5.82 1.26 4.37 5.45 ----29.24 1.08 8.54 2.72 5.82 1.26 4.37 5.45 ----29.24 CPU TIME HISTOGRAM MARGIN OF ERROR - 1.98% .00 2.00 4.00 6.00 8.00 .**** .***************************************** .************ .************************** .****** .****************** .***********************
QUERY QRYMEM01
Figure 3-14. CPU Usage by SQL Statement Report for SPUFI Files
SQL TYPE
SQL NAME
TIME/COUNT
CPU TIME PERCENT SOLO TOTAL 21.39 18.54 8.82 11.11 20.27 ----80.13 21.39 18.54 8.82 11.11 20.27 ----80.13
CPU TIME HISTOGRAM MARGIN OF ERROR - 1.25% .00 8.00 12.00 18.00 24.00 .********************************** .******************************* .************ .***************** .*********************************
QSAV SARWW.DBFETCH PRMQ QBE SQL PROC PUBACCTINFOPROC00 TOTAL SQL CPU USAGE
Figure 3-15. SQL CPU Usage Summary Report STROBE automatically aggregates all executions of a Query or Procedure into one line in this report and indicates this aggregation by showing the number of executions (rather than the time of execution) in the TIME/COUNT column. STROBE always aggregates activity for DBRMs and SPUFI. You can suppress this aggregation for Queries and Procedures by specifying SQL=DETAIL=(PROC,QUERY) when you produce the Performance Profile. (For more information on suppressing aggregation, see Attribution Reporting on page 12.) Figure 3-16 shows an SQL CPU Usage Summary report for QMF Procedures where STROBE used its front-end intercept into the QMF Governor Exit and the SQL=DETAIL=PROC option was set. This example shows three types of Queries and one Procedure.
** SQL CPU USAGE SUMMARY **
TIME/COUNT
CPU TIME PERCENT SOLO TOTAL 8.37 13.02 17.82 8.82 20.27 ----80.13 8.37 13.02 18.54 8.82 20.27 ----80.13
CPU TIME HISTOGRAM MARGIN OF ERROR - 1.25% .00 8.00 12.00 18.00 24.00 .******** .******************* .*****************************++ .********* .***********************************
PUBACCTINFOPROC00
Figure 3-16. SQL CPU Usage Summary Report for QMF Procedures Figure 3-17 shows the SQL CPU Usage Summary report when the user specifies SQL=NOPROC or when STROBE does not insert its front-end intercept into the QMF Governor Exit. In this report, the Procedure PUBACCTINFOPROC00 is replaced by the Queries and commands that it contains, and total CPU usage for the Procedure is not shown.
SQL TYPE QSAV QSAV QSAV QSAV QSAV QSAV PRMQ QBE SQL
TIME/COUNT
CPU TIME PERCENT SOLO TOTAL 8.37 13.02 4.01 4.45 4.45 4.80 17.82 8.82 11.11 ----80.13 8.37 13.02 4.01 4.45 4.45 4.80 18.54 8.82 11.11 ----80.13
CPU TIME HISTOGRAM MARGIN OF ERROR - 1.25% .00 8.00 12.00 18.00 24.00 .********** .********************* .**** .***** .***** .****** .******************************* .************* .*******************
Figure 3-17. SQL CPU Usage Summary Report for QMF Procedures Using SQL=NOPROC
QUERY SARWW.DBFETCH
Figure 3-18. CPU Usage by SQL Statement Report for a Saved Query
STROBE displays Procedure L1P05s structure as shown in Figure 3-19 on page 37.
Activity in Procedures
The CPU Usage by SQL Statement report for Procedures (Figure 3-19) shows how STROBE reports the structure of the Procedure as well as the distribution of CPU activity among the SQL statements it invoked. STROBE follows this list with a breakdown of the CPU activity used by each Query and command invoked by the Procedure. (To change the way the STROBE DB2 Feature reports Procedures, see Separating Procedures and Queries into Individual Entities on page 10.) As shown in the previous example, the Procedure L1P05 contains one command and four embedded Procedures. The beginning and end of each Procedure is shown by the PROC and PROC-END statements within the description. For example, Procedure L2P03 executes as a first-level Procedure, then it is called by Procedure L3P01. STROBE shows the initial execution on lines 2-5 and the second execution on lines 9-12. STROBE indicates each statements nesting level by placing a two-digit number in front of the statement type. For example, both the IMPORT command and Subprocedure L2P03 are first-level items, so their names are preceded by 01. Subprocedure L2P04 invokes Subprocedure L3P01, which, in turn, invokes Subprocedure L2P03. STROBE denotes this structure by placing 01 in front of PROC L2P04, 02 in front of PROC L3P01, and 03 in front of PROC L2P03.
** CPU USAGE BY SQL STATEMENT ** PROC - L1P05 01 CMD 01 PROC 02 QRY 02 QRY 01 PROC-END 01 PROC 02 PROC 03 QRY 03 PROC 04 QRY 04 QRY 03 PROC-END 02 PROC-END 01 PROC-END COMMAND - IMPORT IMPORT L2P03 SRCHQRY SRCHQRY L2P03 L2P04 L3P01 NXTNAME L2P03 SRCHQRY SRCHQRY L2P03 L3P01 L2P04 NO SQL ACTIVITY EXECUTED - 08 MAY 99 19:44:41
IMPORT PROC L2P06 FROM SASEH.QMF.IMPORT(MEMBER=L2P06 CONFIRM=NO SUBPROC L2P03 QUERY - SRCHQRY EXECUTED 2 TIMES
01 SELECT NAME05,NAME04,NAME03,NAME02,NAME01 FROM TBL00001 STMT NUMBER 134 STATEMENT TEXT PREPARE 01 SELECT TOTALS CPU TIME PERCENT SOLO TOTAL 1.93 ----1.93 1.93 ----1.93 CPU TIME HISTOGRAM .00 .50 MARGIN OF ERROR: 1.00 1.50 4.10% 2.00
.**************************************
01 SELECT NAME02,NAME01 FROM TBL00001 STMT NUMBER 438 STATEMENT TEXT PREPARE 01 SELECT TOTALS EXECUTED CPU TIME PERCENT SOLO TOTAL .70 ----.70 2 TIMES .70 ----.70 CPU TIME HISTOGRAM .00 .50 MARGIN OF ERROR: 1.00 1.50 4.10% 2.00
.**************
01 SELECT NAME05,NAME04,NAME03,NAME02,NAME01 FROM TBL00001 STMT NUMBER 237 STATEMENT TEXT PREPARE 01 SELECT TOTALS CPU TIME PERCENT SOLO TOTAL 2.46 -----2.46 2.46 ----2.46 CPU TIME HISTOGRAM .00 1.00 MARGIN OF ERROR: 2.00 3.00 4.10% 4.00
.************************
TOTALS
-----5.09
----5.09
Subprocedure Identification
If the Procedure invokes a first-level Subprocedure, STROBE precedes the CPU information for the Queries and commands contained in that Subprocedure with the line SUBPROC procname and follows those reports with the line END SUBPROC procname. (STROBE denotes any Subprocedures below first-level when it displays the Procedures structure.)
Query Identification
For each Query or QMF command that the Procedure invokes, STROBE displays a header showing the statements type, its name, and one of the following: if both the Query and Procedure were executed once, the date and time the Query was executed if either the Query or the Procedure was executed more than once, the number of times the Query was executed during a single run of the Procedure if the QMF command does not cause SQL activity, the statement NO SQL ACTIVITY
Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces
The DB2 services address spaces that STROBE measures are database services address space (DBSAS) system services address space (SSAS) stored procedures address space (SPAS)
40 Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces
** MEASUREMENT SESSION DATA ** -------- JOB ENVIRONMENT -------PROGRAM MEASURED JOB NAME JOB NUMBER STEP NAME DATE OF SESSION TIME OF SESSION DSNYASCP WPA1DBM1 STC30816 WPA1DBM1 09/01/99 08.30.57 ------- MEASUREMENT PARAMETERS -----ESTIMATED SESSION TIME TARGET SAMPLE SIZE REQUEST NUMBER (A) FINAL SESSION ACTION SYS REQ SCS01 20 MIN 10,000 150 QUIT ----- MEASUREMENT STATISTICS ---CPS TIME PERCENT WAIT TIME PERCENT RUN MARGIN OF ERROR PCT CPU MARGIN OF ERROR PCT 0.05 99.95 .98 .83
--------- REPORT PARAMETERS --------SYSTEM ESA SP4.3.0 DFSMS 1.1.0 SUBSYSTEM DB2 DB 3.1.0 CPU MODEL 3090-600S SMF/SYSTEM ID SESA/SCS01 REGION SIZE BELOW 16M REGION SIZE ABOVE 5,064K 32,768K REPORT RESOLUTION SORTSIZE LINES/PAGE 32 BYTES 999,999 60 ATTR= 0.0%
TOTAL SAMPLES TAKEN 10,000 TOTAL SAMPLES PROCESSED - 10,000 INITIAL SAMPLING RATE8.33/SEC FINAL SAMPLING RATE 8.33/SEC SESSION TIME CPU TIME WAIT TIME STRETCH TIME SRB TIME SERVICE UNITSPAGES INPAGING RATE EXCPS 0 2 20 0 20 0 MIN 48.22 SEC MIN 0.68 SEC MIN 5.81 SEC MIN 41.73 SEC
- ZZ.WPA1DBM1.S001D001
TASK OR DDNAME DSNVEUS3 DSNVEUS31 DSNYASCP SYS00012 SYS02273 SYS00044 SYS00010 SYS00006 SYS02305 SYS00008 SYS02573 SYS00238 OTHER
RESOURCE CPU CPU CPU 3380 3380 3380 3380 3380 3380 3380 3380 3380
N X 10 PLUS OR MINUS 5 IS PERCENT OF FULL UTILIZATION * IS GREATER THAN 95% - IS LESS THAN 5% .----------------------------------------------------------------------------------------------------. .-- - - 1 . .- ---1 - --- . . . .76884786299*886774888687455463456311233364667444545353524564563---1---1--11311-2 - -1 1- -1 - . . -111322111121212141 677851 -111412332221 . . 12 31-2433 -141 . . --- - -- -- -- - --- ------- -1-1 1 ---1-1 -- 12---- 12 --. . --1-11-1----- --11---- 1----- ------- 1-2-1 1111- - 2- 1-. . 311-1 243 1 . . - - - -- -31 . . 34 . . --- ---- -- 1----- --- ---- - -1 1 1- - - - . .1- -2 1121-1111 1-1 - 111-1-1-1111--211423111114311-11342121336-11-1-1-1-111---11---- 311--11-. 0----0----1----1----2----2----3----3----4----4----5----5----6----6----7----7----8----8----9----9----*. 0----5----0----5----0----5----0----5----0----5----0----5----0----5----0----5----0----5----0----5----*. START RUN PERCENT OF ALLOCATED RUN TIME END RUN
Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces 41
The Resource Demand Distribution report (Figure 4-3) lists, in decreasing order of solo time, the usage associated with highly active data sets. This report indicates that the data set identified as SYS00012 is active for nearly 35 percent of the measurement session.
** RESOURCE DEMAND DISTRIBUTION **
ACTIVITY TASK OR RESOURCE DDNAME DSNVEUS3 DSNVEUS31 DSNYASCP SYS00012 SYS02273 SYS00044 SYS00010 SYS00006 SYS02305 SYS00008 SYS02573 SYS00238 OTHER CPU CPU CPU 3380 3380 3380 3380 3380 3380 3380 3380 3380 3380
---- PERCENT OF RUN TIME ----SERVICED SERVICED SERVICED BY CPU BY I/O BY EITHER .34 .20 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .36 .00 .00 .00 34.59 8.59 2.51 2.08 2.22 1.71 .60 .72 .88 8.98 .34 .20 .00 34.59 8.59 2.51 2.08 2.22 1.71 .60 .72 .88 9.34
------- PERCENT OF RUN TIME SPENT ------- CUMULATIVE PERCENTAGES SOLO SOLO SOLO CAUSING SOLO CAUSING IN CPU IN I/O IN EITHER CPU WAIT TIME CPU WAIT .10 .09 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .21 .00 .00 .00 27.43 4.81 1.81 1.23 1.00 .76 .43 .39 .33 3.70 .10 .09 .00 27.43 4.81 1.81 1.23 1.00 .76 .43 .39 .33 3.91 00.00 03.92 99.46 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 .10 .09 .00 27.62 32.43 34.24 35.47 36.47 37.23 37.66 38.05 38.38 42.29 00.00 03.92 99.46 99.46 99.46 99.46 99.46 99.46 99.46 99.46 99.46 99.46 99.46
DDNAME
ACCESS METHOD
POOL NO
REC SIZE
BLK/CI SIZE
HBUF BUF NO NO
RPL - SPLITSSTRNO CI CA
42 Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces
Programart recommends that you suppress the Data Set Characteristics Supplement report when measuring DB2 address spaces. STROBE reports all data set names and the report can become very large when all data sets used by Media Manager are included. For more information on the Data Set Characteristics Supplement report, see Chapter 3 of STROBE MVS Concepts and Facilities.
** DATA SET CHARACTERISTICS SUPPLEMENT ** SYS0005 MEDIA MGR DB2T.DSNDBD.DSNDB06.SYSUSER.I0001.A001 SYS0006 MEDIA MGR DB2T.DSNDBD.DSNDB06.SYSPLAN.I0001.A001 SYS0010 MEDIA MGR DB2T.DSNDBD.DSNDB06.SCT02.I0001.A001
SYS0012 MEDIA MGR DB2T.DSNDBD.DSNDB06.SYSDBASE.I0001.A001 SYS0016 MEDIA MGR SYS0044 MEDIA MGR DB2T.DSNDBD.DSNDB06.SYSVIEWS.I0001.A001 DB2T.DSNDBD.DSNDB06.SYSLGRNG.I0001.A001
UNIT NO 134 134 134 UNIT 168 168 168 UNIT BE2
DEVICE TYPE DA 3380 DA 3380 DA 3380 134 TOTALS DA 3380 DA 3380 DA 3380 168 TOTALS DA 3380
DDNAME
RUN TIME PERCENT SOLO TOTAL .02 27.43 1.81 ----29.26 1.00 1.23 .25 ----2.48 4.81 .03 34.59 2.51 ----37.13 2.22 2.08 .76 ----5.06 8.59
RUN TIME HISTOGRAM MARGIN OF ERROR - 0.55% .00 9.00 18.00 27.00 36.00 . .******************************++++++++ .**
.*+ .*+ .
TEST66
SYS02273
.*****++++
Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces 43
MODULE NAME .SYSTEM .SYSTEM .SYSTEM .SYSTEM .SYSTEM .SYSTEM .SYSTEM IEFQB551 IGC0013I
16M <,>
SECT SIZE
FUNCTION
CPU TIME PERCENT SOLO TOTAL 2.11 34.34 .60 .30 46.99 12.95 ----97.29 .60 .60 ----98.49 2.41 34.94 .60 .30 47.59 12.95 ----98.79 .60 .60 ----100.00
5.38% 48.00
COMMON AREA DB2 SYSTEM SERVICES MEDIA MANAGER MODULES MVS NUCLEUS SUPERVISOR CONTROL VIRTUAL STORAGE ACC METH SYSTEM SERVICES > > 11184 SWA MANAGEMENT 105184 SUPERVISOR SERVICES
. .
PROGRAM DSNYASCP
TOTALS
44 Chapter 4. The STROBE Performance Profile for DB2 Services Address Spaces
.SYSTEM MODULE NAME DSNB1CPP DSNB1CPS DSNB1GET DSNB1OPS DSNB1OST DSNB1REL DSNB5FOR DSNB5RDP DSNIDM DSNIDM DSNIDM . . . DSNIDM DSNIDM DSNKDM DSNKDM DSNKDM DSNKDM DSNKDM DSNPDSM DSNPDSM DSNPDSM DSNPDSM DSNPDSM DSNSLD1 DSNSLD1 DSNTLM DSNVEUS3 DSNVSR DSNXKAP DSNXKAP SECTION NAME
SYSTEM SERVICES FUNCTION INTERVAL LENGTH 7592 6552 12000 11872 7648 4336 3376 3568 1640 2840 4512
.DB2
DB2 SYSTEM SERVICES CPU TIME HISTOGRAM MARGIN OF ERROR: .00 1.00 2.00 3.00 .****** .*** .****************************** .*** .****** .********* .*** .********************* .*** .********************* .*** 5.38% 4.00
CPU TIME PERCENT SOLO TOTAL .60 .30 3.01 .30 .60 .90 .30 2.11 .30 2.11 .30 .60 .30 3.01 .30 .60 .90 .30 2.11 .30 2.11 .30
DSNB1GET
CLOSE PAGESET PIECE CLOSE PAGE SET RETRIEVE REQUESTED PAGE OPEN PAGESET OPEN PAGESET PIECE SERVC PAGE RELEASE ROUTINE PREFORMAT DATASET PAGES READ DATABASE PAGE ROUTINE DATA MANAGEMENT DRIVER DISPLAY DBD/PAGESET INFO FMT HEADR/SPACE MAP PAGS
DSNITCUS DSNITDLE DSNKCLOK DSNKFIND DSNKLTCH DSNKSLFV DSNKULTH DSNPAEDL DSNPDEDL DSNPDPS0 DSNPGNP0 DSNPSCT0 DSNSVBK DSNSVSTK
MSI SET CUB STAT=BEFORE DEL POSBLY DISCON RECORD LOCK INDEX PAGE CONDITION SEARCH INDEX FOR KEY OBTAIN INDEX TREE LOTCH INTERNAL PROCESSING RELEASE INDEX TREE LOTCH ADD DROP LIST ENTRY DELETE THE DROP LIST DROP PAGESET SPACE GET NUMBR OF PCS TO OPEN SHOW CATALOG GET/FREE VAR-LEN STORAGE STACK STORAGE PROCESSOR IRLM SERVICE ROUTINES SERVICE TASK DISPATCHER SUSP/RES/CANCEL SYNCHRON CATALOG ACCESS LOCATOR BUILD MSI FOR READ OPERS TOTALS
5392 10848 3312 9120 2480 1512 2632 992 848 2904 2576 3784 6176 3344 21856 10376 5312 15480 10704
.30 .60 .90 1.50 .30 .60 .90 .30 .30 .90 .60 .60 1.20 .90 1.20 .60 2.41 1.81 1.81 ----34.26
.30 .60 .90 1.50 .30 .60 .90 .30 .30 1.20 .60 .60 1.51 .90 1.20 .60 2.41 1.81 1.81 ----34.87
.*** .****** .********* .*************** .*** .****** .********* .*** .*** .*********+++ .****** .****** .************+++ .********* .************ .****** .************************ .****************** .******************
Index
A
access path, and static SQL statements 2 ADD command 8 allied address space, activity shown in the Performance Profile 2 Attribution of CPU Execution Time report 16,
19
B
batch processing programs activity in DB2 system modules 1 DB2 plan names 27 identification of DB2 activity 3 benefits of STROBE DB2 Feature 4
C
CAPTBUFF parameter 6 CICS address spaces activity in DB2 system modules 1 sample Performance Profile with DB2 15 CPU activity caused by SQL statements 38 in application programs 18 in DB2 service modules 18 in system service routines 18 transactions responsible for 28 used by procedures 18 CPU activity distribution among control sections 18 reports showing 15 CPU Usage by SQL Statement report 3, 16, 23,
38
DB2 database activity, attributed to DB2 table spaces 39, 41 DB2 database services address space, DBSAS 1 DB2 EXPLAIN option, determining SQL access paths 24 DB2 measurement requests parameters 16 submitting 5 DB2 modules obtaining detailed reporting 16 DB2 services address spaces, DBSAS and SSAS 1 DB2 table spaces, activity attributed to 41 DB2=NOQMFTRACE operand 8, 9 DBRM and dynamic SQL statements 2 and static SQL statements 2 indexing 11 owned by QMF 21 with SPUFI and QMF 3 DBSAS activity reports in the Performance Profile 4 data collected in 39 data set access information 40 characteristics 41 usage 41 I/O activity in 39 monitoring 3 sample Performance Profile for 39 DETAIL parameter 16 DSQ prefix 21 dynamic SQL statements, and DBRMs 2
E
environments measured by the STROBE DB2 Feature 1 executing SQL statements 3
CPUTEXT parameter 11
D
data collection gathering DB2 data 5 DATA COLLECTORS panel 8 Data Set Characteristics report 41 Database Request Modules (DBRM) 1 database services address space, DBSAS 1 .DB2 28 DB2 allied address spaces CPU execution reports 15 programs, invocation of system routines 19 system services address space, SSAS 1 table spaces, activity attributed to 39 DB2 allied address spaces sample Performance Profile 15 transaction reports 27
I
I/O activity CPU usage of active data sets 41 in a DBSAS 39 I/O activity accesses across time 40 and data definition names 41 summary of I/O access 42 I/O Facility Utilization Summary report 42 I/O reports 40 IMS address spaces, activity in DB2 system modules 1 indexing example of a report with 25 SQL statements 11
46 Index
M
MAXLEN operand 12 MAXMEM parameter 6 measurement requests submitting 5 Measurement Session Data report 39 MVS tasks, DB2 threads 1
R
Remote SQL support 25 Resource Demand Distribution report 41
N
NOATTR operand 13 NODB2 operand 8 .NONDB2 28
S
SPAS activity in stored procedures address spaces 44 activity reports in the Performance Profile 4 determining activity in 27 SPUFI sample SQL report for 32 SPUFI files controlling aggregation of 10 SPUFI, use of DBRMs 3 SQL 30 statements and chosen DB2 access paths 24 indexing statement text 11 reports showing activity in 38 SQL CPU Usage Summary report 16 SQL statements amount of text displayed in the Performance Profile 12 average execution time 23 creation of static statements 2 dynamic statements 2 statement count 23 target and executing 3 SQL Wait Summaryt report 30 SQL=DETAIL operand 13 SQL=NOPROC operand 13 SSAS activity in allied address spaces 4 activity reports in the Performance Profile 4 determining activity in 4 monitoring 3 static SQL statements, creation of 2 stored procedures report 27 STROBE CICS Feature described 1 transaction data reported by 27 STROBE DB2 Feature data collected in a DBSAS 39 described 1 disabling 8 invoking 5 monitoring the DB2 services address spaces 3 operating environments measured by 1 Performance Profile for a DB2 DBSAS 39 Performance Profile for a DB2 allied address space 15 STROBE IMS Feature
P
Parallel Query I/O facility 26 Performance Profile activity in DB2 system modules 1 amount of SQL text displayed 12 attribution reports 19 controlling aggregation of activity 10 CPU execution reports 15, 43 DB2 allied address space 15 DB2 database activity reports 39 DBSAS 39 I/O reports 40 program module reports 18, 21 SQL reports 38 transaction reports 27 wait time reports 29 Performance Profile activity in the allied address space 2 plan name, for DB2 1 procedures activity attributed to unnamed procedures 33 aggregating activity in 9 contents of 3 controlling aggregation of 10 invoking STROBE after execution begins 33 sample SQL report for 34 structure shown in the Performance Profile 35 .PROCxxxx 33 program module reports 18, 21 Program Section Usage Summary report 15, 18,
43
Program Usage by Procedure report 15, 18, 43 pseudo-modules .SYSTEM 18, 43 pseudo-transactions .DB2 28 .NONDB2 28
Q
QMF Trace Attributor and Governor Exit 33 sample report with 34 QMF, use of DBRMs 3 queries activity attributed to unnamed queries 33
Index 47
described 1 STROBE/ISPF Detail for a Performance Profile panel 10 disabling IMS Feature 6, 7 limiting attribution reports 12 setting SQL text length 11 suppressing procedure aggregation 10 the QMF Trace Attributor 9 suppressing attribution reports 12 STROE procedure 12, 13 STROX procedure 13 STROXE procedure 12 .SYSTEM 16, 18, 43 system services address space, SSAS 1
T
target SQL statements 3 Time Distribution of Activity Level report 40 transaction reports 27 data reported for batch processing programs 27 data reported for TSO address spaces 27 uses of 28 Transaction Summary report 16 Transaction Usage by Control Section report 16 TSO address spaces activity in DB2 system modules 1 DB2 plan names 27 identification of DB2 activity 3
U
unnamed Procedures and Queries, identifying in the Performance Profile 33
V
VSAM entry sequenced data sets 39
W
Wait By SQL Statement report 30 wait time reports 29 WAITTEXT parameter 11
48 Index