PROBLEM:
A major problem affecting the performance of z/OS systems
is the identification and subsequent elimination of major
resource conflicts (enqueue bottlenecks) that adversely
affect the system's performance. A report identifying a
resource conflict by major/minor resource name, with an
English description of the major resource provided where
possible, along with the average ENQ wait time, average
ENQ queue length, and percent of the time that the queue
was 3 or greater is required on an exception basis.
DATABASE FILES TO BE ACCESSED:
&PSCPD..SCPENQ01 through &PSCPD..SCPENQ07
Last 7 day's z/OS Resource Enqueue Activity File
SUGGESTED SAS FACILITIES TO BE USED FOR REPORTING:
None directly applicable. A full program is required.
SAS CODE EXAMPLE:
************************************************************;
* ENQUEUE ANALYSIS REPORT *;
************************************************************;
%MACRO ENQTAG;
FORMAT ENQTAG $30.;
IF ENQQNM='SYSZSMF1' THEN ENQTAG='SMF BUFFER';
ELSE IF ENQQNM='IEZIGGV3' THEN
ENQTAG='VSAM CATALOG RPLPOOL';
ELSE IF ENQQNM='LOGREC ' THEN ENQTAG='LOGREC CSA BUFFER ';
ELSE IF ENQQNM='SYSCTLG ' THEN ENQTAG='OS CVOL SEARCH ';
ELSE IF ENQQNM='SYSDSN ' THEN ENQTAG='DATA SET ENQUEUE ';
ELSE IF ENQQNM='SYSIEFSD' THEN
ENQTAG='SCHEDULER/ALLOCATION FUNCTIONS';
ELSE IF ENQQNM='SYSIGGV2' THEN ENQTAG='VSAM CATALOG SEARCH';
ELSE IF ENQQNM='SYSIKJBC' THEN ENQTAG='BROADCAST DATA SET';
ELSE IF ENQQNM='SYSIKJUA' THEN ENQTAG='UADS DATA SET ';
ELSE IF ENQQNM='SYSVTOC ' THEN ENQTAG='VTOC UPDATE ';
ELSE IF ENQQNM='SYSZIGGI' THEN ENQTAG='TSB SERIALIZATION ';
ELSE IF ENQQNM='SYSZPSWD' THEN ENQTAG='PASSWORD DATA SET ';
ELSE IF ENQQNM='SYSZTIOT' THEN ENQTAG='DSAB/TIOT CHAIN ';
ELSE IF ENQQNM='SYSZVOLS' THEN
ENQTAG='EXCLUSIVE VOLUME ACCESS ';
ELSE IF ENQQNM='VSAM ' THEN ENQTAG='GOP SERIALIZATION ';
ELSE IF ENQQNM='SYSZVMV ' THEN ENQTAG='SCHED MOUNT/VERIFY ';
ELSE IF ENQQNM='SYSZCAXW' THEN ENQTAG='VSAM CAXWA CHAIN ';
ELSE ENQTAG='***UNDEFINED';
%MEND;
%LET BY = SYSID YEAR MONTH DAY HOUR ENQQNM ENQRNM;
%LET BREAK = ENQRNM;
DATA FILE1;
SET &PSCPD..SCPENQ01 &PSCPD..SCPENQ02 &PSCPD..SCPENQ03
&PSCPD..SCPENQ04 &PSCPD..SCPENQ05 &PSCPD..SCPENQ06
&PSCPD..SCPENQ07;
IF ZONE='1';
PROC SORT OUT=FILE1; BY &BY;
DATA FILE1;
SET FILE1;
FORMAT ENDDT DATE7. ENQAVWTM TIME11.2 PCTQGT3 3.2;
ENDDT=DATEPART(ENDTS);
PCTQGT3=100-ENQPCQL3;
%ENQSUM;
DATA _NULL_;
SET FILE1; BY &BY;
RETAIN ENQACTIV L 0;
FILE PRINT PRINT NOTITLES LINESLEFT=LEFT LS=132;
IF FIRST.HOUR THEN LINK INIT;
LINK SUM;
IF LAST.HOUR THEN LINK TERM;
RETURN;
INIT:
IF _N_=1 THEN LINK HEADERS;
ENQACTIV=0;
RETURN;
SUM:
IF ((ENQAVWTM > HMS(00,00,01.99)) AND
(ENQAVQL > 1.99) AND
(PCTQGT3 > 49)) THEN ENQHIT=1;
ELSE ENQHIT=0;
IF ENQHIT=0 THEN RETURN;
ENQACTIV=1;
%ENQTAG;
PUT #L @2 ENDDT DATE7. @11 HOUR 2.
@20 ENQQNM $8. @35 ENQTAG $30. @75 ENQRNM $8.
@90 ENQAVWTM TIME11.2
@109 ENQAVQL 3.1 @123 PCTQGT3 3.2 ;
L+1;
IF L>57 THEN LINK HEADERS;
RETURN;
TERM:
IF ENQACTIV=0 THEN RETURN;
PUT #L @1 ' ';
L+1;
IF L>57 THEN LINK HEADERS;
RETURN;
HEADERS:
PUT _PAGE_;
PUT #1 @42 'HIGH ACTIVITY ENQUEUE ANALYSIS REPORT';
PUT #2 @2 'MAJ/MIN ENQUEUES WITH AVG ENQ TIME GE 2 SECS, '
'AVG ENQ QUEUE LENGTH GE 2, AND PCT TIME QUEUE '
'LENGTH GE 50%';
PUT #4 @22 'MAJOR' @35 'ENQUEUE' @75 ' MINOR '
@90 'AVG ENQUEUE'
@105 'AVG QUEUE' @120 'PCT QUEUE';
PUT #5 @3 'DATE' @10 'HOUR'
@20 'RESOURCE' @35 'DESCRIPTION' @75 'RESOURCE' @90
' TIME' @105 ' LENGTH ' @120 'LENGTH > 3';
L=7;
RETURN;
PROC DELETE DATA=FILE1;
GENERATED OUTPUT REPORT:
Figure 6-17 illustrates the output reports produced by
the SAS code illustrated above.
HIGH ACTIVITY ENQUEUE ANALYSIS REPORT MAJ/MIN ENQUEUES WITH AVG ENQ TIME GE 2 SECS, AVG ENQ QUEUE LENGTH GE 2, AND PCT TIME QUEUE LENGTH GE 50% MAJOR ENQUEUE MINOR AVG ENQUEUE AVG QUEUE PCT QUEUE DATE HOUR RESOURCE DESCRIPTION RESOURCE TIME LENGTH LENGTH > 3 13APR09 8 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS STCQUE 0:00:05.27 8.0 90 13APR09 9 ACCESSX ***UNDEFINED SMFPATCH 0:00:03.14 2.0 50 13APR09 10 SYSIGGV2 VSAM CATALOG SEARCH SYS1.SYS 0:00:02.88 3.6 86 13APR09 12 SYSVTOC VTOC UPDATE TSX503 0:05:05.06 4.0 100 13APR09 13 SYSIGGV2 VSAM CATALOG SEARCH SYS1.SYS 0:00:02.12 2.0 54 13APR09 15 SYSZSMF1 SMF BUFFER BUF 0:59:28.19 79.0 100 13APR09 15 VSAM GOP SERIALIZATION SYSA 0:01:41.18 2.0 53 13APR09 16 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:10.37 6.7 91 13APR09 16 SYSIGGV2 VSAM CATALOG SEARCH SYS1.SYS 0:00:02.40 2.4 66 13APR09 16 SYSZSMF1 SMF BUFFER BUF 0:00:15.07 6.0 100 13APR09 17 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEV 0:00:38.77 2.0 50 14APR09 8 ACCESSX ***UNDEFINED SMFPATCH 0:00:03.86 2.0 50 14APR09 10 SYSZIGGI TSB SERIALIZATION 0:00:02.83 6.0 100 14APR09 10 SYSZRACF ***UNDEFINED SYS1.RAC 0:06:05.63 2.0 50 14APR09 10 SYSZSMF1 SMF BUFFER BUF 0:00:06.20 4.7 93 14APR09 11 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:06.05 2.0 50 14APR09 11 SYSZSMF1 SMF BUFFER BUF 0:00:16.81 5.0 95 14APR09 12 SYSVTOC VTOC UPDATE TSX503 0:00:05.56 2.0 50 14APR09 13 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:02.09 4.0 100 14APR09 13 SYSZSMF1 SMF BUFFER BUF 0:00:03.16 5.2 94 14APR09 14 SYSZSMF1 SMF BUFFER BUF 0:00:50.79 11.0 99 14APR09 14 VSAM GOP SERIALIZATION SYSA 0:04:19.78 2.6 68 14APR09 16 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:13.10 16.0 98 14APR09 16 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS STCQUE 0:00:06.21 9.3 96 14APR09 16 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEV 0:01:16.77 2.5 80 14APR09 16 UCCONEQN ***UNDEFINED TMS-TMC 0:00:32.19 2.0 50 14APR09 17 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:02.18 3.0 67 15APR09 9 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS VARYDEVS 0:00:05.45 6.0 100 15APR09 9 SYSIEFSD SCHEDULER/ALLOCATION FUNCTIONS STCQUE 0:00:09.57 10.0 97
Figure 6-17. High Activity Enqueue Analysis Report
|
Copyright © 2014 CA.
All rights reserved.
|
|