ADABAS ADARUN PARAMETERS Jim Poole 1 Spring 2004
ADABAS ADARUN PARAMETERS Jim Poole 1 Spring, 2004
RULES OF THE DAY VERSION 7. 4. 2 MAINFRAME OS THE NUCLEUS, MPM NOT CLUSTER SERVICES NOT PARALLEL SERVICES NOT TCP/IP NOT UES NOT BS 2000 NOT SPT NOT FASTPATH NOT SMGT NOT DSF NOT CACHE ? NOT VISTA NOT PREF* ? NOT DTP 2
WILL DISCUSS (some more, some less): DBID SVC DEVICE PROGRAM MODE QBLKSIZE LOCAL READONLY UTIONLY FORCE IGNDIB NONDES OPENRQ AOSLOG AREXCLUDE ARMNAME INTNAS MSGCONSL MSGDRUCK MSGPRINT LBP LFIOP FMXIO ASYTVS TFLUSH LP LWKP 2 LCP LDEUQP LFP LI LQ LS LWP LU NAB NC NH NISNHQ NQCID NSISN NT NU CT TT TNAE TNAA MXTNA MXTSX MXTT DUALPLD DUALPLS NPLOGDEV PLOGRQ PLOGSIZE TNAX TLSCMD UEX 2 UEX 12 CACHE CDISPSTAT CASSOMAXS CDATAMAXS CBUFNO CEXCLUDE CINCLUDE CWORK 2 FAC CWORK 3 FAC CWORKSTOR ASSOCACHE DATACACHE WORKCACHE CMAXCSPS UEX 4 CLOGLAYOUT LOGGING LOGCB LOGFB LOGRB LOGSB LOGVB LOGIO LOGCLEX LOGUX LOGSIZE DUALCLD DUALCLS NCLOGDEV CLOGSIZE UEX 1 UEX 3 UEX 4 UEX 8 HEXNN “Too Big, Too Small, Range, Formula, Issues” 3
ONLINE CHANGEABLE ADARUNS VIA: AOS: A P Session monitoring Modify parameters OP. CMDS: OPERATOR MODIFY COMMANDS TO DATABASE ADADBS: ADADBS OPERCOM parm COMMON TO ALL METHODS: CT= READONLY=YES/NO TNAA=, TNAE=, TNAX=, TT= UTIONLY=YES/NO Cmd Logging Cache(limited) COMMON TO OP. CMDS & AOS: ASYTVS=YES/NO AOSLOG=YES/NO FMXIO= 4
ONLINE CHANGEABLE ADARUNS: AOS LS, LU, TT, TNAA, TNAE, TNAX, TLSCMD, CT 5
ONLINE CHANGEABLE ADARUNS: AOS READONLY, UTIONLY, AOSLOG, NISNHQ, NQCID, NSISN, TFLUSH, FMXIO, ASYTVS 6
ONLINE CHANGEABLE ADARUNS: AOS LOGGING, LOGxx 7
THE REQUIRED FIVE ADARUNS DBID= SVC= PROGRAM=ADANUC MODE=SINGLE/MULTI DEVICE=8391 8
MODE= PROGRAM=ADANUC, MODE=who cares PROGRAM=USER/Util. , MODE=MULTI ! SINGLE USER MODE IS DEAD ! ADARES REGENERATE, 8 RUNS EACH --SUM-AVERAGE ELAPSED TIME 13. 89 M --MPM-AVERAGE ELAPSED TIME 2. 82 M 80 % FASTER 9
DEVICE= USE LARGER BLOCKSIZES ADVANTAGES DISADVANTAGES PROCESS 1. MORE USABLE DISK SPACE PER CYLINDER. 2. ALLOW LARGER COMPRESSED RECORD SIZES. 3. MAY IMPROVE PERFORMANCE ON READS. DOING IT ADAORD RESTRUCTUREDB, ADAFRM ASSO, DATA, etc, ADADEF ADAORD STORE NOTE: ADARES REGENERATE AT RECORD LEVEL, NOT BLOCK LEVEL 10
DEVICE= DEVICE 3390 8391 BLOCKSIZE / RABNS PER TRACK ASSO DATA WORK, PLOG TEMP, SORT 2544 / 18 5064 / 10 5724 / 9 8904 / 6 4136 / 12 10796 / 5 13682 / 4 18452 / 3 BYTES PER CYLINDER (15 TRACKS/CYL) DEVICE 3390 ASSO 686, 880 DATA 759, 600 8391 744, 480 809, 700 820, 920 830, 340 +8. 4 % +6. 6 % +6. 2 % +3. 6 % CHANGE WORK, PLOG TEMP, SORT 772, 740 801, 360 11
DEVICE= BLOCKSIZE=8391. ADARUN PARM CHANGES DEVICE = 8391 (for NUC and Utilities) LBP = 2 X OLD. LBP LFIOP = 2 X OLD. LFIOP WORK: EITHER DOUBLE WORKSIZE or LP =. 42 X OLD. LP LWKP 2 =. 42 X OLD. LWKP 2 DUALPLD = 8391 DUALPLS = 60 X PLOG. CYLINDERS CASSOMAXS = 2 X OLD. CASSOMAXS CDATAMAXS = 2 X OLD. CDATAMAXS 12
MISCELLANEOUS ADARUNS QBLKSIZE= AOSLOG=NO LOCAL= AREXCLUDE= READONLY=NO (dflt) UTIONLY=NO (dflt) FORCE=NO (dflt) IGNDIB=NO NONDES=NO OPENRQ=NO (dflt) ARMNAME= INTNAS=3600 (dflt) MSGCONSL=UPPER 13
QBLKSIZE= (Utilities) FOR SEQUENTIAL DATASETS, BY ADAIOR, FOR UTILITIES (eg. ADASAV, ADAORD) RANGE: 0 – 262144 RECOMMEND: 32760 BLKSIZE > 32 K ? OS/390 V 2 R 10 or beyond All IBM PTF’s TAPE DRIVE SUPPORT (256 K/3590 ; 64 K/3490) OTHER SOFTWARE SUPPORT: SYNCSORT, IDCAMS, . . . LIVE TESTS 14
QBLKSIZE= (Utilities) ADASAV, 35 TAPES, 3490 TAPE DRIVE, 64 K vs 32 K ELAPSED TIME (MINUTES) IO’S 32 K 64 K CPU TIME (SECONDS) 32 K 64 K 15
INTNAS= FOR SECONDS BETWEEN SYNS-60 CHECKPOINTS RANGE: 1 – 16 M RECOMMEND: 900 -3600 (dflt) ADAREP CPEXLIST, OFFSET= SYNS 60 2004 -02 -10 02: 36: 59 NUCLEUS STATISTIC NR OF CALLS = NR OF PHYSICAL IO = NR OF LOGICAL IO = TIME = CPU USED = 371 408219 DUAL ADABAS 7620877 863235 33007256 2004 -02 -10 02: 36: 59 00: 15: 56 2018 CMD/SEC 0. 00012 CPU SECS/CMD 7971 CMD/CPUSEC 0. 11 IO/CMD 4. 33 LOGIO/CMD 16
INTNAS= READ ADAREP TO CREATE SPREADSHEET DATA (see App A. ) ENDDATE 2004 -01 -21 2004 -01 -21 2004 -01 -21 ENDTIME 02: 57: 33 04: 00: 28 05: 03: 23 06: 18 07: 09: 13 08: 12: 07 09: 15: 02 10: 17: 57 11: 20: 52 12: 23: 47 13: 26: 42 ELAP 3785 3775 3774 3775 3775 COUNT CPU 7341915 1132 4879015 791 2615022 464 2105966 384 2688202 451 2972559 511 5216202 807 4537068 782 3655436 698 9659914 1376 17998064 1781 PHYSIO 1584352 991498 740762 633038 772353 950627 1088544 1199195 1206367 1718928 1376631 LOGIO 36505364 27161035 12972842 8770941 10776397 12445276 21874673 19405448 16500919 35454506 50015690 17
WORK DATASET ADARUNS GCB Worksize LP= LWKP 2= ADADEF NEWWORKSIZE= SIZE BIG 500 C, 1500 C, 3333 C I. LP= II. LWKP 2= PROTECTION AREA COMPLEX SX III. Remainder ISN LISTS, (overflow and saved) 18
LP= SAG MANUAL Range: 200 – 2 G Default: 1000 PRACTICAL RANGE 8391: 25000 – 100, 000 3390: 2 x above TOO BIG ? NO ISSUES ? AUTORESTART POINT ? TOO SMALL ? RSP. CD. 9 -15, 8 EXCESSIVE BUFFER FLUSHES RISK OF SYNCHRONOUS BUFFER FLUSHES FORMULA= 5 * (Peak No. Concurrent Update Users) * (Avg. No. Recs/Transaction) * (No. Work Blocks per Update Cmd) 19
LP= NEW FORMULAS (Worst Case, to avoid 9 -15) 1. = 4 EG. * 4 ( 1 / time. WORK. IO) * 1 /. 002 (ADARUN TT=) * 300 = 4 * 500 * 300 = 600, 000 2. = 4 * ( W. Bs / UPDATE ) EG. * 3 4 * * (ADARUN NH=) * 20, 000 = 240, 000 NOTE: COULD USE NH HIGH-WATER MARK W. BS = 3 (DS-BI, DS-AI, DVT), consider SPANNED, etc 20
LP= FACTS, ISSUES, CONCERNS, NOTES 1. CONCERN: S. U. M. AND LP REFORMATTING. 2. FACT: WORK I WRAPS AT ABOUT 25%. (How to prove it) 3. CONCERN: CAUSE OF RESPONSE CODE 9 -15 OR 8, WORK WRAPAROUND. 4. CONCERN: SMALL LP INCREASES BUFFER FLUSHES LIVE TESTS 21
LP= NUC LBP=100 M LFIOP=25 M LP=? ? ? BUFFER FLUSHES PGM READ FILE: L 5, A 1, ET (LOOP 10 X) BLOCKS WRITTEN FILE 20 K RECORDS 999 DS BLKSIZE= 10796 LP= 200 400 800 1600 3200 6400 13 K 26 K 41 k 22
LWKP 2= SAG MANUAL Range: 0 – 16 M Default: 0 PRACTICAL RANGE 8391: >10, 000 3390: >24, 000 ! USE ! TOO BIG ? TOO SMALL ? FORMULA= CWORK 2 FAC=% ISSUES DELAYED Sx COMMANDS RSP. CD. 74 (Dflt) 22 + 2 * (4*TOPISN/(WB – 16) (Ideal) S * 2 * (4*TOPISN/(WB – 16) 23
LWKP 2= FACTS, ISSUES, CONCERNS, NOTES 1. CONCERN: IF NO LWKP 2, RISK PARM-ERROR-18 NUC START Example. 2. FACT: CQ -> THRD, COMPLEX SX NOT SELECTED IF LESS THAN 50% WII AVAILABLE. Sub. FACT: ALL NATURAL Sx ARE FLAGGED COMPLEX! 3. ISSUE: SIZE LWKP 2 TO BE 50% FREE ! 4. NOTE: CAN USE CWORK 2 FAC=% TO VERIFY USE 5. ISSUE: IDEAL FORMULA REVISTED ===== >> 24
LWKP 2= FORMULA= WB 16 4 TOPISN 2 S (Ideal) = = = S * 2 * (4*TOPISN/(WB – 16) 5724(3390) or 13682 (8391) BLOCK HEADER 4 b PER ISN OF LARGEST FILE FOR SX CMDS ALWAYS ENSURE 50% AVAILABLE PEAK NO. OF CONCURRENT COMPLEX COMMANDS. %Sx TIMES USED THREADS (? TIMES 2? ) 25
WORK 3 SAG MANUAL Worksize PRACTICAL RANGE 100 - ? ? minus LP= minus LWKP 2= TOO BIG ? CWORK 3 FAC=% ISSUES W 3 Bit Map (4 b/WB) TOO SMALL ? PARM-ERROR-18 AT NUC START (50 B) RSP. CD. 73 FORMULA= (See separate slide) 26
WORK 3 FACTS, ISSUES, CONCERNS, NOTES 1. FACT: 4 Byte/WORK 3 Block BELOW 16 M LINE. S. U. M. UTILITIES. Eg. WORK = 3390 3337 CYLS, LP=65000, LWKP 2=10000 WORK 3= 375, 495 B MEMORY = 4 * 375, 495 B = 1. 5 M 2. NOTE: CAN USE CWORK 3 FAC=% TO VERIFY USE 3. NOTE: INCREASE OF NSISN= REDUCES W 3 USE. 4. ISSUE: FORMULA ===== >> 27
WORK 3 FORMULA= = = NU NU * AVER. ISN. LISTS. PER. USER * AWBU 2 x HIWATER. LI / (64 + 4 x NSISN) ( 2 x HIWATER. LI / (64 + 4 x NSISN)) x AWBU = AVERAGE WORK BLOCKS PER ISN LIST ONE LIST PER BLOCK 3390 = 1431 ISN’S 8391 = 3420 ISN’S =1? 28
BUFFER POOL ADARUNS LBP= ! USE ! LFIOP= ASYTVS= FMXIO= TFLUSH= WILL COVER: 1. STATS TO USE GOALS: E SAV ’S O I D REA IT R EW SAV ’S O I E S: C Y A EL D ID VO A 2. CAUSE OF BUFFER FLUSHES 3. LFIOP= , IO U P 4. BUFFER FLUSH TIME 5. LBP= 29
BUFFER POOL ADARUNS, STATS DDPRINT: ASSO DATA WORK PLOG READS 4597834 31008250 9369 21 LOG. READS BUFFER EFF. 1, 707, 256, 475 47. 0 189 BUFFERFLUSHES FLUSH PHASES BLOCKS FLUSHED FLUSH I/OS WRITES 52118 64223 390163 228531 IO’S, NOT BLOCKS WERE DONE 189 134, 457 116, 211 BLOCKS PER FLUSH MISSING: FLUSH TIMES, FLUSH DELAYS OP. SYSTEM: IO TIMES, IOS QUEUING, PAGING 30
BUFFER POOL ADARUNS, STATS LBP: (SUBTOT=OFF) CLOGSUMMARIZE TOOL: MIN(TIME) BUFFER-FLUSHES-INTERVAL (PF=N 2 HD='BF', 'IN') BUFFER-FLUSHES-SESSION (PF=N 4 HD='BFLS') COUNT (PF=N 6) MEAN(ECBS) (PF=N 2. 1 HD='AVG', 'ECB') MEAN(DURATION) (PF=N 1. 5) MEAN(CMD-TIME) (PF=N 1. 5) ASSO-READS-INTERVAL (PF=N 5 HD='ASSO', 'READ') DATA-READS-INTERVAL (PF=N 5 HD='DATA', 'READ') ASSO-WRITES-INTERVAL (PF=N 5 HD='ASSO', 'WRIT') DATA-WRITES-INTERVAL (PF=N 5 HD='DATA', 'WRIT') INTERVAL 60 SECONDS INSIGHT-LINES=300; MIN BF CMD AVG MEAN ASSO DATA TIME IN BFLS COUNT ECB DURAT CMDTIME READ WRIT 174801 1 2, 865 88, 650 2. 7 0. 00123 0. 00009 4, 459 9, 845 1, 124 449 31
BUFFER POOL ADARUNS: BUFFER FLUSHES CAUSES: -ADAEND, HALT -AUTORESTART/ AUTOBACKOUT -UTI OPEN -SYN 1, SYN 2 -C 1, COPT=F -OPERCOM SYNCC -W-1 WRAPAROUND -UPD BLK COUNT = LFIOP/DS. BLKSIZE -ADARES SYNP-28 3 VARIATIONS: A. UPD PROCESSING CONTINUES (DEFAULT) B. UPD PROCESSING WAITS TIL BFL DONE (LFIOP GONE SYNCHRONOUS) C. ET-SYNC: NO NEW UPDTRANSACTIONS (SYN 2, ADAEND, HALT, SYNCC) REDUCE BFLS: INCREASE LP=, LFIOP= DELAY/DEFER UTILITY CHECKPOINTS (Eg. PLOG COPY) 32
LFIOP=, BFLs NUC BUFFER FLUSHES LBP=100 M LP=41 K LFIOP=? ? ? PGM READ FILE: L 5, A 1, ET (LOOP 10 X) BLOCKS WRITTEN FILE 20 K RECORDS 999 DS BLKSIZE= 10796 LFIOP= 1 M 2 M 4 M 6 M 8 M 10 M 12 M 20 M 25 M 33
CHECKPOINT DELAYS: SYNP-28 ADARES PLCOPY MEAN DUR PER UPD CMD PER 10 SECOND INTERVALS EXTREMELY HIGH UPDATE ENVIRONMENT Normal Plog Copy with no checkpoints 34
LFIOP= SAG MANUAL PRACTICAL RANGE Range: 80 K - 2 G 3390: 2. 5 M – 10 M Default: 0 8391: 5 M – 20 M =1 is ¼ LBP < 1/5 LBP TOO BIG ? IOS QUEUING WORK-1 WRAPAROUND, SYNC FLUSH TOO SMALL ? EXCESSIVE BUFFER FLUSHES DEGRADED PERFORMANCE FLUSH PHASES > BUFFER FLUSHES (new) FORMULA= (See separate slide) 35
LFIOP= FORMULA= (USE DDPRINT DATA) 1. INCREASE UNTIL WRITE IO ( A + D ) / UPD. CMDS < 1 2. ( 2 SEC / AVER. WRITE. IO ) * DS. BLKSIZE 3. DS. BLKSIZE * BLOCKS. WRITTEN / BUFFER. FLUSHES FORMULA 2: AVER. WRITE. IO =. 004 SECS DS. BLKSIZE = 5064 2 SEC /. 004 = 500 IO’S LFIOP = 2. 5 M 36
LFIOP= FACTS, ISSUES, CONCERNS, NOTES 1. CONCERN. LFIOP FLUSH TIME VS. WORK 1 WRAPAROUND. FLUSH START / UPDATES / FLUSH END. FOR WORST CASE UPDATE TIME: ( WORK. 1. WRITES / BFLS ) < ( LP / 8 ) LP: WORK. 1 SIZE IN BLOCKS BFLS: BUFFER FLUSHES OVER MEASURED INTERVAL WORK. 1. WRITES: WORK WRITES (DSTAT, ADAEND. DDPRINT, AOS) ISSUE: WORK. 2/3 WRITES PLOG WRITES (DDPRINT, AOS, PLCOPY JOBS) ISSUE: WORK MI/UI BLOCKS PLOG ADASAV A/D BLOCKS SOLUTION: FOR WORST CASE, INCREASE LP= ! 37
LFIOP= FACTS, ISSUES, CONCERNS, NOTES 2. CONCERN. LFIOP GOING SYNCHRONOUS. POSSIBLE CAUSES: Small LP=, CHECKPOINTS. ? LFIOP SIZE ? LFIOP IF BUFFER FLUSH TIME > TIME BETWEEN FLUSHES. FORMULA: RATE * BFLI * WRTM < BFLI RATE: NEW UPDATED BLOCKS PER SECOND BFLI: TIME BETWEEN BUFFER FLUSHES WRTM: TIME TO FOR ONE WRITE IO NEW FORMULA: RATE * WRTM < 1 (LFIOP NOT A FACTOR) RATE: 200 – 300 / SEC ? ? ? 38
LFIOP= FACTS, ISSUES, CONCERNS, NOTES 2. CONCERN. LFIOP GOING SYNCHRONOUS. HOW TO TELL ? DDPRINT: 4, 096 BUFFERFLUSHES WERE DONE FLUSH PHASES BLOCKS FLUSHED FLUSH I/OS FLUSH REQUESTS: RETURN IMMEDIATELY RETURN AFTER LOGICAL FLUSH RETURN AFTER ENTIRE FLUSH 4, 096 5, 257, 378 3, 727, 343 2, 752 0 1, 933 39
4, 096 BUFFERFLUSHES WERE DONE FLUSH PHASES BLOCKS FLUSHED FLUSH I/OS FLUSH REQUESTS: RETURN IMMEDIATELY RETURN AFTER LOGICAL FLUSH RETURN AFTER ENTIRE FLUSH 4, 096 5, 257, 378 3, 727, 343 2, 752 0 1, 933 Notes from BA email. There are 2 phases: COPY and Physical IO. These 2 phases = a ‘FLUSH PHASE’. If all modified blocks do NOT fit into LFIOP, the number of Flush Phases will exceed the number of Buffer Flushes (ie. a problem). Return Immediately: Does not wait for copy phase – ex: cmd termination RALF, Return After Logical Flush: LBP has no room for new ASSO/Data block. (problem) RAEF, Return after Entire Flush: mostly internal stuff, nuc start/end, delete file, etc 40
LFIOP being flushed by ? CHECK BYTES WRITTEN VS LFIOP SIZE IF BYTES WRITTEN <<<<< LFIOP, then flushing early, up LP, etc IF BYTES WRITTEN = LFIOP, then LFIOP causing flush 41
LFIOP= FACTS, ISSUES, CONCERNS, NOTES 3. ISSUE. IDEAL BUFFER FLUSH TIME ? ? ? ? 42
ASYTVS= (BUFFER FLUSH TIME). SAG MANUAL YES / NO Default: YES PRACTICAL RANGE YES: INITIATE 1 IO PER VOLUME (PARALLEL IO) NOTE: NO: WRITE IO IN ASCENDING RABN SEQUENCE (ASSO/DATA). IF MANY VOLUMES WITH WRITE IO’s, ASYTVS=YES COULD CAUSE EXCESSIVE PAGE FIXING. 43
FMXIO= (BUFFER FLUSH TIME). SAG MANUAL ASYTVS=NO: 1 – 100 Dflt=60 PRACTICAL RANGE ASYTVS=YES, FMXIO= ? ? ASYTVS=YES: 1 – 16 Dflt=1 1. NOTE: ASYTVS=YES, FMXIO SPECIFIES NUMBER OF PARALLEL IO’s PER VOLUME. REQUIRES DASD PAV SUPPORT. (Parallel Access Volume) 2. NOTE: ASYTVS=NO, FMXIO SPECIFIES NUMBER OF PARALLEL ISSUED. Too Big: IOS QUEUING Range: 10 – 16 44
BUFFER FLUSH TIME. Improving. ADARUN ASYTVS=YES FMXIO= DBA DASD NEW DASD INCREASE CACHE CHANNELS PAV SUPPORT FILE MAPPING DE REDUCTIONS LARGER BLOCKSIZE PADDING FACTORS REORDERS FIC APPS SCHEDULING OF UPDATE JOBS SET REUSEDS=OFF DURING HIGH ADD PROCESSES UPD BY L 2 VS BY L 3 45
BUFFER FLUSH TIME. Measuring. WORK HEADER= STCK 8 B IND TYPE 00 02 BFL START STCK 1. 05 secs (rightmost) 00 80 BFL END ? ? ? ADAPLP WORKPRI TYPE=ALL, LAYOUT=2/3, SKIPRABN=, STOPRABN= 3555. (BLOCK HEADER) LEN BLOCK-# SESS V SIZE DBID TIMESTAMP 2 A 35 0000 00134713 01 E 3 C 8 00013880 0035 BB 1 BA 80240 C 50 C 81 LEN 000 A 027 C BEFZ 00 BF 4 C 82 0000 00 BF 4 C 91 IN 00 00 A 0 TY USER-ID 40 02 BUFFER START 08 3557. (BLOCK HEADER) 2 E 1 F 0000 00134715 01 E 3 C 8 00013880 0035 BB 1 BA 80439 BF 7 B 0 A LEN BEFZ IN TY USER-ID 000 A 00 BF 4 C 82 00 80 BUFFER END 008 A 00 BF 5384 A 0 08 46
LBP= SAG MANUAL Range: 80 K - 2 G Default: 350, 000 PRACTICAL RANGE 3390: 40 M – 500 M 8391: 80 M – 500 M > 5 * LFIOP TOO BIG ? SYSTEM PAGING ? SCAN FOR BLOCK ? NOT! ? SCAN FOR OVERWRITE ? NOT! SCAN FOR UPDATED BLOCKS REGION SIZE, MODE=SINGLE TOO SMALL ? PERFORMANCE PROBLEMS FORMULA= n. K per Active File per ? ? ? 47
LBP= FACTS, ISSUES, CONCERNS, NOTES 1. CONCERN. SCAN HEADERS TO LOCATE UPDATED BLOCKS. HEADERS = LBP / ASSO. BLKSIZE DEPENDS ON BFL FREQUENCY LBP = 200 M DEVICE = 3390 A. Blksize = 2544 HEADERS = 78, 616 LAB TESTS 48
LBP=, HEADER SCAN NUC LFIOP=5 M LP=200 LBP=? ? ? DEVICE=8391 PGM 1 (Read x Blks into LBP) READ FILE (1 Rec/Blk): L 2 (LOOP X times) Verify Headers: Insight Measure Nuc CPU Time. PGM 2 UPD SAME ISN (ALTERNATE VALUES) ET EVERY 20 REPEAT 100 K TIMES CYCLE NUC MEASURE NET CPU RUN LBP 1 440 M 2 110 M 3 220 M 4 440 M (REPEAT 5 HEADERS 8 9, 290 18, 571 39, 132 TIMES) FLUSHES 5003 BLKS-WRITTEN 5022 RESULTS 49
LBP=, HEADER SCAN 95. 0 SECS 89. 2 SECS 83. 7 SECS 81. 3 SECS 8 9, 290 18, 571 37, 132 50
LBP= FACTS, ISSUES, CONCERNS, NOTES 2. ISSUE. LARGE LBP vs. CACHE (SEE CACHE) 3. NOTE. BUFFER EFFICIENCY (BE). = LOGICAL IO / (ASSO. READS + DATA. READS) RULE: INCREASE LBP UNTIL B. E. NO LONGER INCREASES (? ) 5 DIFFERENT DB’S / APPS WEEKLY SHUTDOWN DDPRINT B. E. DEVICE=3390/8391 FROM PRODUCTION 51
LBP=, B. E. EXAMPLES LBP=8 M, 3391 LBP= 80 M LBP= 16 M, 8391 B. E. : 40 - 86 04 52
LBP=, B. E. EXAMPLES LBP=40 M, 8391 LBP= 8 0 M B. E. : 54 - 113 09 53
LBP=, B. E. EXAMPLES LBP=35 M, 3391 LBP =60 M =80 55 B. E. : 56 - 8244 , 839 M 1 54
LBP=, B. E. EXAMPLES LBP=20 M, 3391 LB P= LBP 80 M =60 M, 8 391 B. E. : 9 - 24 62 55
LBP=, B. E. EXAMPLES LBP=20 M, 3391 LB P= LBP =60 80 M M, 8 391 B. E. : 9 - 24 17 56
LBP=(factors) FACTS, ISSUES, CONCERNS, NOTES 4. ISSUE. AIN’T NO IDEAL BUFFER EFFICIENCY (BE) FASTPATH DECREASES B. E. LOOPING PROGRAMS INCREASES B. E. L 2’s, 1 RECORD/BLK DECREASES B. E. REORDERS INCREASES B. E. CACHE INCREASES B. E. INCREASED LFIOP INCREASES B. E. 57
PAUSE 58
MORE POOLS, QUEUES, TABLES: HIGHWATER MARKS VIEW BY: DDPRINT SHUTDOWN OPERCOM DRES AOS ADAREP CPEXLIST SYNS-5 B OTHER RESET BY: ADADBS REFRESHSTATS ALL / CMDUSAGE / COUNTERS / FILEUSAGE POOLUSAGE / THREADUSAGE ? ISSUES OF RESETTING ? 59
POOLS, QUEUES, TABLES, sizing NU= NQCID= NC= NSISN= NT= LI= LU= LQ= NAB= LS= LCP= LWP= LDEUQP= NISNHQ= LFP= NH= 60
MORE POOLS, QUEUES, TABLES: HIGHWATER MARKS Pool / Queue | Size | Used |%Used |Dt. Time ----------------------------Attached Buffer(NAB) | 819200 | 204544 | 24. 9 | Command Queue (NC) | 96000 | 5952 | 6. 2 | Format Pool (LFP) | 3000000 | 2999916 | 99. 9 | Hold Queue (NH) | 560056 | 84056 | 15. 0 | ISN-List Table (LI) | 100000 | 1608 | 1. 6 | Seq. Cmd. Table(LQ) | 2000000 | 447696 | 22. 3 | User Queue (NU) | 819808 | 188768 | 23. 0 | Unique DE Pool (DUQ) | 50000 | 4300 | 8. 6 | Security Pool (LCP) | 2000 | 0. 0 | UQ File List (UQF) | 288360 | 52172 | 18. 0 | ATM Trans. IDs (XID) | 0 | 0. 0 | Work Pool (LWP) | 2000000 | 851732 | 42. 5 | Redo Pool (LRDP)| 0 | 0. 0 | 61
NU= SAG MANUAL PRACTICAL RANGE Range: 20 – 16 M Default: 200 User Queue 100 - 5000 Element: 288 b Size: 272*(NU+4) NU > NC ONE U. Q. E. PER USER. ( id DETERMINED BY ADA. LINK RTN) CREATED ON FIRST CALL (? OPen ? ) REMOVED ON CLose OR CERTAIN TIMEOUT SCENARIOS TOO BIG ? ? ? SCAN TIME ? ? TOO SMALL ? RSP. CODE 72 FORMULA= 1. 2 * HI-WATER MARK 62
NU= FACTS, ISSUES, CONCERNS, NOTES 1. NEW OR POORLY DESIGNED APPLICATIONS: CICS BACKGROUND TRANSACTIONS WITH NO CLOSE NATURAL AND 2 U. Q. E. ’S REMOTE CALLERS TO DATABASE WITH NO CLOSE 2. INTERVAL (HOURLY, DAILY, etc) CLEANUP OF USER QUEUE. AOS ADADBS OPERCOM: STOPI=x, PURGE OP. CMDS : DELUI=x FOR EXAMPLE, FROM PRODUCTION 63
NU= FACTS, ISSUES, CONCERNS, NOTES ADADBS OPERCOM DUQA LAST USER JOBNAME TID TYPE ACTIVITY -------------------------------0063 E 910 XXVOIZ 1 Y ³³ ä. Ôøä (BAFA 624312 EB 7043) E 212770 0056 F 36 A XXVOIZ 1 Y ³ 7ú%ùÓWä (BAF 7 DE 6 C 9 DEEE 643) E 385606 005 D 663 E XXVOIZ 1 Y ³ 9. P¬ô. (BAF 920975 FCB 2 C 40) E 299124 00667 DCD XXVOIZ 1 Y ³ÜVPÿÒÈI (BAFCE 5 D 7 DFAD 7489) E 40028 0068774 D K 14328 PY ³Ù: ù 8 MÕG (BAFD 7 A 9 DB 894 AFC 7) E 92 006844 C 8 CIPRCSBD CICSB 1¢> (C 3 C 9 C 3 E 2 C 2 F 14 A 6 E) E 245 00686 BE 0 CIPRCSBD CICSB 1. < (C 3 C 9 C 3 E 2 C 2 F 14 B 4 C) E 348 0068660 D CIPRCSBD CICSB 1. ! (C 3 C 9 C 3 E 2 C 2 F 14 B 5 A) E 444 00687 B 8 D CIPRCSBD CICSB 1. / (C 3 C 9 C 3 E 2 C 2 F 14 B 61) E 7 006865 DE CIPRCSBD CICSB 1. E (C 3 C 9 C 3 E 2 C 2 F 14 BC 5) E 446 006870 AA CIPRCSBD CICSB 1. P (C 3 C 9 C 3 E 2 C 2 F 14 BD 7) E 108 64
NC= SAG MANUAL Range: 20 – 32 K Default: 200 PRACTICAL RANGE Command Queue 50 - 500 Element: 192 b NC<=NU ONE C. Q. E. PER CMD : WAITING TO EXECUTE, EXECUTING, WAITING TO RETURN TOO BIG ? ? CPU TIME TO SCAN ? TOO SMALL ? RSP. CODE 151 (Not on Cmd Log) FORMULA= 1. 2. 2 * HI-WATER MARK 3 * NT= 65
NC= FACTS, ISSUES, CONCERNS, NOTES 1. BOTTLENECK OR THRUPUT ISSUES: - ET-SYNC (eg. SYN 2 OF ADASAV) - RECORD HOLD WAITS - LONG RUNNING COMMANDS (MLF, Sx) - USER DELAYS, USER GONE SITUATIONS 2. SNAPSHOT SIZE OF CQ: ADADBS OPERCOM DNC OP. CMD DNC CMD LOG ECBS 3. DISPLAYING COMMAND QUEUE INFO: ADADBS OPERCOM DCQ OP. CMD DCQ AOS INSIGHT FROM PRODUCTION 66
NC= ADADBS OPERCOM DCQ USER JOB FLAG IUBL ------------------------C 3 C 9 C 3 E 2 C 2 F 1 C 8 E 3 (CICSB 1 HT) CIPRCSBC 28 2927 C 3 C 9 C 3 E 2 C 2 F 1 D 2 D 9 (CICSB 1 KR) CIPRCSBA 28 2927 C 3 C 9 C 3 E 2 C 2 F 1 C 2 D 8 (CICSB 1 BQ) CIPRCSBC 28 367 C 3 C 9 C 3 E 2 C 2 F 1 C 1 F 8 (CICSB 1 A 8) CIPRCSBB 18 304 B 65 C 11176 BA 318 C 3 (: *. . , t. C) P 1 BXK 0 AR 28 2530 C 3 C 9 C 3 E 2 C 2 F 17 CD 9 (CICSB 1@R) CIPRCSBB 18 2927 C 3 C 9 C 3 E 2 C 2 F 1 C 2 D 8 (CICSB 1 BQ) CIPRCSBC 28 367 C 3 C 9 C 3 F 7 F 1 F 3 F 4 F 4 (CIC 71344) CIPRCSBH 18 634 C 3 C 9 C 3 E 2 C 2 F 15 F 7 B (CICSB 1¬#) CIPRCSBA 18 2927 C 3 C 9 C 3 E 2 C 2 F 1 E 55 E (CICSB 1 V; ) CIPRCSBC 28 380 ? PROBLEM ADABAS OR OPERATING SYSTEM ? Note: 28 is waiting on user to pick up cmd 67
NC= OPERATOR COMMAND DCQ CURRENT CQ USER=C 3 C 9 C 3 E 2 D 4 F 15 AF 0, JOBNAME=CIPREOMC CMD=L 3, FILE=161, STCK=BAFA 0 A 93, IUBL=605 USER=CIC 25753, JOBNAME=CIPREOMA CMD=L 6, FILE=173, STCK=BAFA 0 A 93, IUBL=1277 USER=CIC 25998, JOBNAME=CIPREOMA CMD=S 1, FILE=107, STCK=BAFA 0 A 93, IUBL=1068 USER=BAFA 0 A 92 A 49082 C 9, JOBNAME=MEXXX$PR CMD=L 3, FILE=225, STCK=BAFA 0 A 93, IUBL=413 USER=C 3 C 9 C 3 E 2 D 4 F 14 BF 4, JOBNAME=CIPREOMC CMD=S 1, FILE=226, STCK=BAFA 0 A 93, IUBL=895 ? WHAT FILE/CMDS/ USERS ? 68
NC= AOS DCQ TID I Jobname I Cmd. Status I Prty. I Fnr. I Cmd. Seq. Nr --------------------------------CIC 26290 I CIPREOMA I In Process I 247 I I ET I 1046965116 CIC 26285 I CIPREOMA I In Process I 247 I 221 I L 3 I 1046965124 TSU 19064 I RZM 6 WH I In Process I 233 I I UC I 1046965130 CICSM 1!0 I CIPREOMC I In Process I 237 I 161 I L 3 I 1046965096 CIC 26285 I CIPREOMA I In Process I 247 I 221 I L 3 I 1046965144 ? WHAT FILE/CMDS/ USERS ? ? DELAYED COMMANDS ? 69
NC= INSIGHT DISPLAY COMMAND QUEUE C Q E S -- ---------------46 IN USE 46 WITH UQE 45 IN PROCESS 0 READY TO SELECT 0 WAITING ON MPM-12 CALL FOR SYNC 0 NOT SELECTABLE DURING ET SYNC 0 WAITING FOR SPACE 41 WAITING FOR A HELD ISN 0 A 9 COMMAND 0 PRIVILEGED COMMAND 0 ET COMMAND 1 UPDATE COMMAND 0 COMPLEX COMMAND 45 SIMPLE COMMAND ? HOLD PROBS, LWP PROBS, ETC ? 70
NT= SAG MANUAL PRACTICAL RANGE Range: 3 – 250 Default: 5 Number of Threads 5 - 30 FOR COMMAND EXECUTION TOO BIG ? ? EXTRA THREAD MANAGEMENT TIME ? INCREASED SHARED RESOURCES (LWP) (eg. NT>50) TOO SMALL ? DELAYED PROCESSING FORMULA= 71
NT= FACTS, ISSUES, CONCERNS, NOTES 1. MORE THREADS NEEDED WITH INCREASE IN a. LONG RUNNING COMMANDS: MULTIFETCH / PREFETCH COMPLEX SEARCHES NON-DESCRIPTOR SEARCHES. b. IO DELAYS: INCREASED IO LENGTHENED IO TIMES 2. COST OF EXTRA THREADS (COUNT=0)? (8 K/THRD) ANSWER: NO CPU COSTS FROM THE LAB 72
NT= NUC COST OF EXCESS 0 THREADS VARY NT= 5, 10, 20, 50 TEST NUC UP RUN 3 JOBS NUC DOWN RESULTS 3 1 2 3 ACTIVE THRDS: – 50 -64% – 28 -37% - 8 -18% ADABAS CPU TIME vs NT= ( ONLY 3 ACTIVE THREADS ) NT= 5 NT= 10 NT= 20 NT= 50 73
NT= FACTS, ISSUES, CONCERNS, NOTES 3. WHAT PERCENT IN THE LAST THREAD? THREADS: SUMMARIZE(SUBTOT=ON) COUNT MEAN(DURATION) (PF=N 2. 5) MEAN(CMD-TIME) (PF=N 1. 5) MEAN(TOTAL-IO) (PF=N 1. 2) BY THREAD *** INTERVAL N HOURS TITLE = ‘THREAD USAGE’ INSIGHT-LINES = 100 ** PRINT TO SUMM 2 ; WATCH DURATION AS THREAD INCREASES FROM PRODUCTION 74
NT= WATCH PERCENT IN LAST THREAD Example 1. THRD. 1 = 1, 170 K, THRD. 20 = 2 K CMDS PERCENT CMDS MEAN DURATION MEAN IO MEAN CMDTIME 75
NT= WATCH PERCENT IN LAST THREAD Example 2. THRD. 1 = 951 K, THRD. 20 =. 1 K CMDS PERCENT CMDS MEAN DURATION MEAN IO MEAN CMDTIME 76
NT= WATCH PERCENT IN LAST THREAD Example 3. CMDS WITH NO IO PERCENT CMDS MEAN DURATION MEAN IO = 0 MEAN CMDTIME 77
SAG MANUAL LU= V 7. 4 NO UPPER LIMIT PRACTICAL RANGE Range: 4 K – 65535 Default: 65535 SIZING PARM LENGTH OF INTERMEDIATE USER BUFFER (UB): FB + RB + SB + VB + IB + hdr (108 b) TOO BIG ? TOO SMALL ? RSP. CD. 152 (Not on Cmd Log) UTILITY FAILURES MULTI-FETCH FAILURES FORMULA= AVG IUBL= 65535 SAMPLE DCQ, SEE CMD LOG 78
SAG MANUAL NAB= PRACTICAL RANGE Range: 0 – 500 K Default: 16 Attached Buffers Element: 4096 b NAB >= 16 * NT 80 - 500 ONE UB PER CMD : WAITING TO EXECUTE, EXECUTING, WAITING TO RETURN TOO BIG ? ? ? TOO SMALL ? RSP. CODE 255 (Not on Cmd Log) FORMULA= 1. 2 * HI-WATER MARK 2. ( Avg. UBL * HI-WATER. MARK. NC) / 4112 79
NAB= FACTS, ISSUES, CONCERNS, NOTES 1. BOTTLENECK OR THRUPUT ISSUES: - ET-SYNC (eg. SYN 2 OF ADASAV) - RECORD HOLD WAITS - LONG RUNNING COMMANDS (MLF, Sx) - USER DELAYS, USER GONE SITUATIONS 2. FOR ADARES REGENERATE MTR=YES, NAB >= 16 * NT else ERROR 099 ABEND 80
LCP= SAG MANUAL Range: 2 K – 16 M Default: 10 K PRACTICAL RANGE Security Pool ? TOO BIG ? ? ? TOO SMALL ? Rsp. Code 204 FORMULA= 1. 2 * HI-WATER MARK 2. (max. no. of sec users) * (avg. compress. rec. len) 81
LDEUQP= SAG MANUAL Range: 0 – 16 M Default: 5000 PRACTICAL RANGE Unique Descriptor Pool 5 K - 100 K ONE ENTRY PER A 1, E 1 UQ. DE FOR EACH OPEN TRANSACTION TOO BIG ? ? ? TOO SMALL ? RSP. CODE 197 82
LDEUQP= FORMULA= 1. 2 * HI-WATER MARK 2. FOR UQ. DE’S: (AVG. CONCURRENT TRANSACTIONS) * (AVG. DELETE/UPDATES PER TRANSACTION) * (15 + AVG. UQ. DE. LENGTH) UQ. DE. HEADER: POINTER TO U. Q. E. FILE NUMBER UQ. DE. NAME UQ. DE. FORMAT UQ. DE. LENGTH CONSIDER PERFORMANCE OF UQ. DE CHECKS 83
SAG MANUAL LFP= PRACTICAL RANGE Range: 6 K – 2 G Default: 12, 000 Format Pool 200 K – 10 M INTERNAL FORMAT BUFFERS (IFB’S) TOO BIG ? CPU TOO SMALL ? CPU Response Code 42 FORMULA= LATER 84
LFP= GOAL : CPU ! MEASURE: 1. CPU/CMD 2. CLOG CMDTIME F. OVERWRITES F. TRANSLATIONS CMDS, USERS ? ? ? DDPRINT, SYNS-60 CPU-TIME 00051: 13: 04 HOURS EXECUTED 1415822, 301 CALLS CLOG, CA-APAS RELCPU: SUMMARIZE MEAN(CMD-TIME) COUNT *? MEAN(TOTAL-IO) INTERVAL time ? NON-IO WHERE ? L 1 CMD(1) = 'L' AND TOTAL-IO ? Lx ? Sx, A 1, N 2 (PF=N 1. 5) (PF=N 7) (PF=N 1. 2) = 0 85
LFP= minor stats NC S D AN UR NS M M O C AT CO IO T A RE N TU SE R FO L S N A R RM AT T S OV ER M R O W F RI TE S DDPRINT AOS SYNS-5 B CA-APAS, etc (INTERVAL/SESSION) 86
LFP=. INTERNALS: CID vs GFID USER FB BB, CC, AA. CPU IFB HD BB CC AA A. SCAN FOR B. TRANSLATE C. STORAGE OF TRANSLATE CID IFB GFID IFB a. ID = CB CID (4 bytes) a. ID = CB ADDS 5 (8 bytes) b. 1 VIEW PER USER b. 1 VIEW, c. CID non-BLANK, non-ZERO c. ADDS 5 starts with b’ 11’ d. SAVES SCAN TIME d. SAVES SPACE, SAVES TRANSLATE TIME e. RELEASE BY RC COP=F, COP 1/2=‘ ‘ CL U. Q. E removed FORMAT OVERWRITE e. RELEASE BY RC COP=C (all GFID’s) COP=L (specific) FORMAT OVERWRITE SHARED BY USERS 87
LFP=. INTERNALS: SCAN, TRANS, STORE IFB IFB IFB 12345 IFB IFB GFIDs UQ A. SCAN FOR B. TRANSLATE C. STORAGE OF IFB FORMAT POOL A. SCAN FOR (IF CID/ADD 5 NON-BLANK) 1. U. Q. E, 5 MOST RECENT, LIFO 2. IF CID IFB, SCAN UQE CHAIN 3. IF GFID IFB, SCAN GFID CHAIN !CPU! C. STORAGE OF B. TRANSLATE 1. IN LWP !CPU! 1. IN LFP IF CID/ADD 5 IS NON-BLANK 2. FREE SPACE SCAN 3. F. OVERWRITE IF NEEDED 88
LFP=. DATABASE RULES (V 7. 4) 1. FREE SPACE IS CHAINED. 2. GFID IFBs ARE CHAINED (LIFO). 3. CID IFBs ARE CHAINED (OFF U. Q. E. ). 4. U. Q. E. CONTAINS ADDRESSES OF LAST 5 IFBs. (LIFO) 89
LFP=. Extreme LFP sizes, USERS, IFB, VIEWS WORST CASE LFP SIZE ( ! NOT THE BEST FOR CPU ! ) IF ONLY GFIDs: LFP = (aver. Views) * (aver. IFB length) IF NO GFIDs: LFP = ( # Users) * (aver. Views/user) * (aver. IFB length) ? USERS, IFB, VIEWS ? 90
LFP=. Extreme LFP sizes, USERS, IFB, VIEWS AVERAGE NO. OF USERS - SAMPLE DNU - HIGH-WATER MARKS IFB length ( BASED ON FB LENGTH) Worst case number of Flds in a Natural FB: FBL / 9 (AA, 003, A, ) Worst case number of Flds in an SQL FBL / 7 (AA, 3, A, ) FB: IFB Len = 64 + 24*Flds FB Length 91
LFP=. Extreme LFP sizes, USERS, IFB, VIEWS *DECLARE GCID(A 1) * REDEFINES ADDIT 5(1, 1); XFBL: SUMMARIZE COUNT MEAN(FBL) BY FBL (BY 90) WHERE FILE NE 0 * GCID GE 'C' * AND * (CMD(1)='S' OR * CMD(1)='L') INSIGHT-LINES=300; FLDS/FB = = IFBL = = 98 / 9 11 64 + 24* 11 328 FB length FBL COUNT XFBL 0 309, 019 30. 24 90 296, 006 96. 14 180 9, 182 212. 51 270 61, 734 304. 63 360 8, 781 390. 26 450 580 503. 76 540 600 592. 01 630 20 635. 20 720 4, 745 764. 00 810 16 842. 13 990 2 1, 054. 00 1, 260 884 1, 342. 00 1, 440 84 1, 442. 00 1, 530 233 1, 586. 00 1, 710 10 1, 783. 00 1, 800 1 1, 819. 00 ===== 691, 897 98. 26 92
LFP another Apas report MCITEMP insight off db 044 DECLARE GFID (A 1 HD='GFID') VALOF IF ADDIT 5(1) GE 'C' RESULTIS 'Y' ELSE RESULTIS 'N' IFEND ; MCITEMP: SUMMARIZE(GTT=NO SUBTOT=OFF) COUNT (PF=N 7) MEAN(FBL) (PF=N 5. 1) BY GFID BY FBL (BY 100) WHERE ( CMD(1) = 'L' OR CMD(1) = 'S' ) AND JOBNAME(2) = 'CI' INSIGHT-LINES = 800 PRINT TO SUMM 1; Gfid or not, fields per FB, batch vs online 93
LFP=. Extreme LFP sizes, USERS, IFB, VIEWS AVERAGE VIEWS DECLARE FID (A 5) VALOF IF ADDITIONS-5 GE H'C 00000000' RESULTIS 'GFID ' ELSEIF CID = H'0000' OR CID = ' ' RESULTIS 'BLANK' ELSE RESULTIS 'CID ' IFEND; VIEWCNT: SUMMARIZE (SUBTOT=OFF GTT=NO) COUNT (PF=N 7) MEAN(FBL) (PF=N 4. 1) MEAN(RBL) (PF=N 5. 1) BY GLOBAL-USER *1 BY CID ? GUESS *2 BY ADDITIONS-5 ? FASTPATH *3 BY FILE (PF=N 3) BY CMD ? IF NO GFID IFB, WHERE USE TRANS/USERS FILE NE 0 ELSE *1 AND FID EQ 'CID ' *2 AND FID EQ 'GFID ' ? SAMPLE CLOG *3 AND FID NE 'BLANK' - RC AFFECT UNKNOWN * INTERVAL 10 SECONDS * PRINT TO SUMM 1 INSIGHT-LINES=300; 94
LFP=. CID vs GFID, VIEWS/USER 5 vs 6 OLDEST VIEWS: THE DOOM OF GFID IFB’S ! CID IFB UQE CHAIN UQE LAST 5 IFB’s LFP CONTAINS 20 K GFID IFB’S GLOBAL GFID IFB CHAIN THE PROGRAMS: PGMA USING CID IFB’S, 5 OPEN VIEWS PGMB USING CID IFB’S, 6 OPEN VIEWS PGMC PGMD USING GFID IFB’S, 5 OPEN VIEWS (OLDEST VIEWS) USING GFID IFB’S, 6 OPEN VIEWS (OLDEST VIEWS) ( LOOP 1000 TIMES: L 1 - VIEW A, B, C, D, (E) ) THE TEST RUN EACH 5 X MEASURE CMDTIME PER L 1 95
LFP=. CID vs GFID, VIEWS/USER L 1 CMDTIME FOR 5 TESTS ? ? PERIODIC RELEASE OF ALL GFID IFB’S (RC COP=C) ? ? 96
LFP=. CPU !CPU! SCAN FOR EXISTING (5 MOST RECENT) (UQE CHAIN) (G. IFB CHAIN) TRANSLATE TIME !CPU! SCAN FOR SPACE SCAN FOR F. OVWR ? CPU? ? TRANSLATE vs. SCAN ? 97
LFP=. TRANSLATE TIME CM FLDS ISN COUNT XCMDTM L 1 10 1 5, 000 0. 00012 L 1 2 5, 000 0. 00004 FBL 80 CMDTIME /FLD. 000008 L 1 20 1 5, 000 0. 00021 2 5, 000 0. 00005 160 . 000008 L 1 50 1 5, 000 0. 00042 2 5, 000 0. 00006 400 . 000007 L 1 100 1 5, 000 0. 00078 2 5, 000 0. 00010 800 . 000007 L 1 200 1 5, 000 0. 00156 1600 2 5, 000 0. 00013 . 000007 NO IO’S 1 DB USER CMDTIME/FLD = (ISN. 1 – ISN. 2) / FLDS MEAN CMDTIME / FIELD =. 0000074 !!! 98
LFP=. SCAN TIME CM Path L 1 500 L 1 1000 L 1 2000 L 1 4000 L 1 8000 L 1 16, 000 L 1 20, 000 MAX ADDIT. 5 C 019500 C 019000 C 018000 C 016000 C 012000 C 004000 C 000001 COUNT 5, 000 5, 000 XCMDTM 0. 00018 0. 00028 0. 00053 0. 00118 0. 00241 0. 00536 0. 00720 per IFB 0. 00000036 0. 00000028 0. 00000027 0. 00000030 0. 00000034 0. 00000036 LFP: 20 K GFID IFB’s 10 flds CMDTIME PER IFB SCAN = XCMDTIME / PATH MEAN CMDTIME TO SCAN OVER 1 IFB: . 0000003 TRANSLATE TIME OF 1 FIELD = 25 – 30 IFB SCANS !!! (. 0000074 /. 0000003 ) Eg. TRANSLATE TIME OF 10 FB FIELDS = 300 IFB SCANS 99
LFP=. 3 SIZING FORMULAS ? HOW MUCH OF WHICH ? 1. NO GFID IFB’s 2. MOSTLY GFID IFB’s 3. MIX OF CID IFB / GFID IFB’s DECLARE FID (A 5) VALOF IF ADDITIONS-5 GE H'C 00000000' ELSEIF CID = H'0000' OR CID = ' ELSE IFEND; MCIFID: SUMMARIZE (SUBTOT=ON GTT=NO) MEAN(CMD-TIME) (PF=N 1. 5) MEAN(FBL) (PF=N 5. 1) COUNT (PF=N 7) PERCENT (PF=N 2. 1) * MEAN(TOTAL-IO) (PF=N 1. 2) * BY FBL (BY 100) BY FID WHERE FID = 'GFID ' OR = 'CID ' AND CMD(1) = 'L' AND TOTAL-IO = 0 * AND FILE NE 0 INSIGHT-LINES=300; RESULTIS 'GFID ' ' RESULTIS 'BLANK' RESULTIS 'CID ' 100
LFP=. 3 SIZING FORMULAS 1. NO GFID IFB’s 2. MOSTLY GFID IFB’s 3. MIX OF CID IFB / GFID IFB’s MEAN PCT CMD MEAN CMD TOTAL FID TIME FBL COUNT CMDS --------- ----CID 0. 00012 73. 1 2, 661 13. 9 GFID 0. 00015 20. 2 16, 498 86. 1 -------- ----===== 0. 00014 27. 6 19, 159 **** 101
LFP=. 1. NO GFID IFB’S LFP = 1. NO GFID IFB’s 2. MOSTLY GFID IFB’s 3. MIX OF CID IFB / GFID IFB’s Max to No Format Overwrites HIGH. WATER < 99% BIGGER IS BETTER 102
LFP=. 2 MOSTLY GFID IFB’S 2. MOSTLY GFID IFB’s 1. NO GFID IFB’s 2. MOSTLY GFID IFB’s 3. MIX OF CID IFB / GFID IFB’s !! CRITICAL IF AVER. VIEWS / USER > 5 !! LFP = (AVER. IFB. LEN) * N. GFID. IFB = 2 * 30 * (AVER. FLDS/FB) CAUTION IF TOO LARGE, TOO SMALL IN THE LAB => 103
LFP=. 2 MOSTLY GFID IFB’S 2. MOSTLY GFID IFB’s AVERAGE IFB. length IDEAL N. GFID. IFB LFP = 20 FIELDS = 64 + 20*24 = 544 = 2 * 30 * 20 = 1200 = 544 * 1200 = 652, 800 ( USE ½ LFP IN TEST BY USING LAST GFID. IFB) SMALL: LFP=110, 000 N. GFID. IFB = 200 GOOD: LFP=326, 400 N. GFID. IFB = 600 LARGE: LFP=600, 000 N. GFID. IFB = 1000 ON TO THE TEST 104
LFP=. 2 MOSTLY GFID IFB’S LFP: FILL WITH X GFID IFB 20 flds. 2. MOSTLY GFID IFB’s SAME ISN L 1 NEW GFID IFB (CMD, SCAN, TRANS) L 1 OLDEST GFID IFB (CMD, SCAN) L 1 SAME GFID IFB (CMD) LOOP 5 K TIMES RUN PGM 5 TIMES TRANSLATE CYCLE NUC, NO IO SCAN SMALL . 00010 . 00002 GOOD . 00009 . 00008 LARGE . 00010 . 00014 105
LFP=. 3. MIX OF CID IFB / GFID IFB 1. NO GFID IFB’s 2. MOSTLY GFID IFB’s 3. MIX OF CID IFB / GFID IFB’s !! IMPORTANT IF AVER. VIEWS / USER > 5 !! LFP = (IDEAL GFID CHAIN SIZE) + (DNU * Avg. view/user * Avg. ifbl) or TRY DIFFERENT SIZES AND WATCH CPU (IGNORE F. TRANS AND F. OVERWRITES) ARE GFID IFB’S SLOW ? GFID IFB CHAIN SIZE ? 106
LFP=. 3. MIX OF CID IFB / GFID IFB FBL FID x. CMDTIME 0 CID 0. 00008 0 GFID 0. 00005 x. FBL 28. 8 21. 6 100 CID 0. 00012 155. 4 100 GFID 0. 00008 147. 2 200 CID 0. 00011 241. 3 200 GFID 0. 00009 231. 4 300 CID 0. 00041 356. 3 300 GFID 0. 00010 310. 8 400 CID 0. 00051 467. 6 400 GFID 0. 00017 423. 0 500 CID 0. 00045 569. 0 500 GFID 0. 00011 567. 0 ARE GFID IFB’S SLOW ? FBL FID x. CMDTIME 700 800 1, 000 1, 100 1, 300 1, 400 1, 500 1, 600 1, 700 1, 800 2, 400 2, 600 2, 900 3, 000 3, 900 4, 200 CID CID CID GFID CID CID CID 0. 00037 0. 00029 0. 00051 0. 00041 0. 00030 0. 00032 0. 00029 0. 00045 0. 00033 0. 00024 0. 00146 0. 00142 0. 00040 0. 00169 0. 00130 0. 00049 0. 00103 x. FBL 716. 1 818. 3 1, 006. 0 1, 105. 0 1, 344. 4 1, 436. 3 1, 433. 0 1, 516. 8 1, 641. 0 1, 711. 3 1, 885. 8 2, 406. 0 2, 607. 1 2, 971. 0 3, 070. 0 3, 957. 0 4, 267. 0 107 GFID IFB CHAIN SIZE ?
LFP=. 3. MIX OF CID IFB / GFID IFB CHAIN SIZE ? : GFIDC: SUMMARIZE MEAN(FBL) (PF=N 5. 1) 1. USE PCT AND LFP= COUNT (PF=N 7) 2. SAMPLE CLOG. MAX(FILE) (PF=N 3) MIN(FILE) (PF=N 3) BY ADDITIONS-5 (PF=H 16) * INTERVAL 10 SECONDS WHERE ADDITIONS-5(1) GE H'C 0' ADDIT 5 XFBL COUNT FNR F 7 BACE 8926483734 9. 0 175 222 * PRINT TO SUMM 1 F 7 BACE 8 ACB 862 C 3 C 9. 0 14 40 40 INSIGHT-LINES=300; F 7 BACE 8 B 5 FAA 89 FC F 8 BACE 8922 A 68 A 1 C F 8 BACE 892 B 0 A 95 D 9 F 8 BACE 892 B 0 A 9 AD 9 F 8 BACE 8946 BD 7014 F 8 BACE 8946 DA 5262 F 8 BACE 8946 E 7868 F F 8 BACE 896 A 7 DF 03 F 9. 0 612. 0 90. 0 216. 0 603. 0 117. 0 136. 0 514. 0 1 4 1 3 10 31 4 5 134 139 133 139 48 70 70 139 108 134 139 133 139 48 70 70 139
LFP=. PGM HINTS, GFID LIMIT USE CID TO SAVE ON FORMAT TRANSLATIONS RELEASE CIDs (RC) WHEN DONE USE GFIDs FOR COMMON VIEWS DO NOT USE GFIDs FOR VIEWS RARELY USED CONSIDER USE OF RC, COPT=C TO RELEASE ALL GFID IFB’s OPTIONS GFID=OFF (NATURAL PGM, NATPARM) 109
PAUSE 110
NQCID= SAG MANUAL Range: 1 – 65, 535 Default: 20 PRACTICAL RANGE Active CID’s per User 10 - 20 Element: Sizing SETS MAX ENTRIES ON: TBI (LI=) (PER TABLE) TOO BIG ? AND TBQ (LQ=) RISK OF RSP. CODE 70 (TBQ) RISK OF RSP. CODE 71 (TBI) TOO SMALL ? RSP. CODE 46 FORMULA= DECREASE UNTIL USERS COMPLAIN 111
NSISN= SAG MANUAL Range: 7* – (W-6)/4 Default: 51 PRACTICAL RANGE ISN’s per TBI element 1 - 2000 Element: Sizing MAX ISN’s PER TBI (LI=) ELEMENT TOO BIG ? ? RISK OF RSP. CODE 71 (TBI) ? TOO SMALL ? INCREASED WORK-III IO FORMULA= MAX IS (WORKBLOCKSIZE-6)/4 3390 = 1429 8391 = 3418 SAMPLE Sx TO FIND IDEAL SIZE 112
NSISN= ISNQ: SUMMARIZE(SUBTOT=ON) COUNT MEAN(ISNQ) (PF=N 4. 1) BY ISNQ (PF=N 4. 1 BY 10) WHERE CMD(1) = 'S' * PRINT TO ETWAS INSIGHT-LINES = 300; ISN CMD QUANT COUNT 0. 0 11, 814 1. 0 2 2. 0 3 15. 0 4 209. 0 2 439. 0 141 -----===== 11, 966 MEAN ISN QUANT 0. 7 13. 5 28. 0 155. 0 2, 094. 5 4, 392. 0 ------52. 9 113
LI= SAG MANUAL Range: 2 K – 16 M Default: 10 K PRACTICAL RANGE Table of ISN lists (TBI) 50 K – 2 M Element: 64+4*NSISN FOR Sx CMDS WITH NON-BLANK CID. ONE ELEMENT PER ISN LIST PER USER TOO BIG ? ? ? TOO SMALL ? RSP. CODE 71 FORMULA= 1. 2. 2 * HI-WATER MARK AVG. NQCID * AVG. DNU * (64+4*NSISN) 114
LI= FACTS, ISSUES, CONCERNS, NOTES 1. USERS FAILING TO DO RC OR CL (NON-NATURAL) 2. EXCESSIVE USE OF COPT 1=‘H’ (RETAIN AS) WITH NO RC / RELEASE 3. Sx (FINDs) AGAINST EXPANDED FILES. (1 EXTRA ELEMENT PER COMPONENT FILE) 115
LQ= SAG MANUAL Range: 2 K – 16 M Default: 10 K PRACTICAL RANGE Table of ISN lists (TBI) 50 K – 2 M Element: 68 to xxxb FOR L 3/6, L 2/5, L 9 COMMANDS ONE ELEMENT PER OPEN SEQ. PROCESSS PER USER TOO BIG ? ? ? TOO SMALL ? RSP. CODE 70 FORMULA= 1. 2. 2 * HI-WATER MARK AVG. NQCID * AVG. DNU * 150 116
LQ= FACTS, ISSUES, CONCERNS, NOTES 1. USERS FAILING TO DO RC OR CL (NON-NATURAL) 2. Lx AGAINST EXPANDED FILES. (1 EXTRA ELEMENT PER COMPONENT FILE) 3. ELEMENT SIZE VARIES. L 2/5 = 68 b L 3/6, L 9 = 124 b (Minimum) L 3/6, L 9 ELEMENT SIZE A FUNCTION OF: DE-VALUE-LENGTH COPT 2=(A, D, V) SB=DE LENGTH, THRU L 3 DE-VALUE 20 B COP 2=V SB=DD, 140. ELEMENT=388 b SB=DD, 1. ELEMENT=124 b 117
LS= SAG MANUAL Range: 19, 968 - X Default: 49, 920 PRACTICAL RANGE Sx Processing Size 50 K – 200 K Element: Sizing X = LWP/2 – 19, 968 SIZE LIMIT FOR Sx COMMAND PROCESSING IN WORK POOL (LWP). SORT LIMIT (S 2, S 9) COMPLEX Sx LIMIT TOO BIG ? COMPLEX Sx QUEUING DUE TO LWP LIMITS ALLOWING BAD S 2/S 9 COMMANDS TOO SMALL ? FORMULA= WORK-II IO RC 1 (S 2, S 9) 1. INCREASE TO HELP SEARCH ALGORITHMS 2. DECREASE TO DISCOURAGE SORT ALGRTHMS 118
LS= FACTS, ISSUES, CONCERNS, NOTES 1. INCREASED LS LESSENS WORK-II IO FOR COMPLEX SEARCHES 2. LS IS LIMIT BETWEEN ALG 2 AND ALG 4 SEARCHES. ALG 2 : 1 DE, MANY VALUES (eg. BA, GT. or BA, S, BA. ) a. ESTIMATE ISQ VIA UI-MI ESTIMATION. b. IF ISQ/8 > LS, USE ALG 4. (Eg. LS=40, 000, EST. > 5000, THEN ALG. 4) 119
LS= FACTS, ISSUES, CONCERNS, NOTES 3. LS IS LIMIT BEFORE RSP. CD. 1 ON S 2/S 9. MAX ISNQ THAT CAN BE SORTED BEFORE RSP. CD. 1: 1 DE 2 DE 3 DE TOPISN < 65536 LS/12 LS/16 LS/20 TOPISN >= 65536 LS/14 LS/20 LS/26 TOPISN OF FILE (NOT ISN QTY). >< 65, 536 ? ADARUN LS=120, 000 S 2 1 DE: S 2 2 DE: S 2 3 DE: ISNQ= 10, 000 ISNQ= 7, 500 ISNQ= 6, 000 120
SAG MANUAL LWP= Range: 80 K – 2 G Default: 150, 000 PRACTICAL RANGE WORK POOL 500 K – 5 M Element: Varies MEMORY SCRATCH AREA FOR COMMANDS IN THREADS TOO BIG ? SYSTEM PAGING TOO SMALL ? 1. Rsp. Code 88 2. THROWBACKS, SPACE (DDPRINT, AOS, SYNS-5 B) 3. Sx DELAY ON COMMAND QUEUE (Later) FORMULA= LATER 121
LWP= FACTS, ISSUES, CONCERNS, NOTES 1. USES OF LWP. A. DVT CONSTRUCTION < 32 K+ B. IFB CONSTRUCTION < 32 K, MAX(2*FBL, 10 K) C. WORK 1 IO (BT, Autorestart) Workblocksize, 5724 – 13, 682 D. WORK 2 IO (Sx Processing) 2* Workblocksize, 11 K – 27 K E. WORK 3 IO (Sx, L 1/4 CMDS) Workblocksize, 5724 – 13, 682 F. Sx Processing LS= G. S 2/9 Processing LS= H. FDT COMPRESSION 4* Assoblocksize, 10 K – 16 K I. THREAD WORK AREA NT * (4 – 25 K) J. etc. 122
LWP= FACTS, ISSUES, CONCERNS, NOTES 2. MINIMUM SIZE LWP, FORMULA 1: LWP >= ( LS + 19, 968 ) * 2 ELSE: U 020 ABEND: PARM-ERROR 015 DETECTED DURING SYSTEM OPEN INVALID VALUE FOR LS PARAMETER. ALLOWED RANGE IS FROM 19, 968 TO (LWP/2)-19, 968. SAG MANUAL LS= LS <= (LWP-19968)/2 LWP= VS. LWP >= (LS+19968)*2 123
LWP= FACTS, ISSUES, CONCERNS, NOTES 2. MINIMUM SIZE LWP, FORMULA 2 (V 74): LWP >= NT * 25 K ELSE: U 020 ABEND: PARM-ERROR 039 DETECTED DURING SYSTEM OPEN WORKPOOL TOO SMALL FOR THE NUMBER OF THREADS. INCREASE THE LWP PARAMETER TO AT LEAST 25 KB TIMES THE NUMBER OF THREADS. 124
LWP= FACTS, ISSUES, CONCERNS, NOTES 3. Sx DELAY ON COMMAND QUEUE. IF LWP IS TOO SMALL IN RELATION TO LS, AND MULTIPLE Sx COMMANDS ON COMMAND QUEUE, Sx COMMANDS MAY WAIT ON CQ RUN 1. LS=200 K, LWP= 500 K RUN 2. LS=200 K, LWP=1000 K THE PROGRAMS: JOB 1 JOB 2 JOB 3 LOOP S 1 ALG 2. MEASURE: - CMDS / THREAD - HIGHWATER LWP - MEAN ENQTIME (CLOGLAYOUT=4) 125
LWP= FACTS, ISSUES, CONCERNS, NOTES 3. Sx DELAY ON COMMAND QUEUE. THREAD DISTRO 1 2 ENQTIME (BY. 0200) 3 ENQTIME 0. 0000 0. 0200 0. 0400 0. 0600 0. 0800 0. 1000 0. 1200 0. 1400 0. 1600 0. 1800 RUN 1 RUN 2 868 942 35 17 26 7 8 6 24 23 29 17 14 1 1 0 3 0 2 0 RUN 1 LWP = 475, 872 RUN 1 MEAN ENQ =. 0117 RUN 2 LWP = 701, 760 RUN 2 MEAN ENQ =. 0056126
LWP= FORMULA= 1. HIGHWATER + LS 2. LS * 3 3. LS * Peak. Sx 4. LS * Peak. Sx + 40 K + NT * 25 K 5. LS * NT 6. LS * NT + 40 K + NT * 25 K + 5 * Workblocksize 127 ? Peak. Sx ?
LWP= FORMULA= ? Peak. Sx ? METHOD 1 DDPRINT: % Sx TOP USED THREAD METHOD 2 SXT: SUMMARIZE (SUBTOT=ON) COUNT (PF=N 7) MEAN(CMD-TIME) (PF=N 1. 6) MEAN(DURATION) (PF=N 1. 6) MEAN(ASSO-IO) (PF=N 1. 2) MEAN(WORK-IO) (PF=N 1. 2) BY THREAD WHERE CMD(1) = 'S' INSIGHT-LINES=300; 128
SAG MANUAL NISNHQ= Range: 1 – 65, 535 Default: max (2*NH/NU, 20) PRACTICAL RANGE Max ISNs Held per User 20 – 10 K LIMITING PARM TOO BIG ? TOO SMALL ? FORMULA= HOLD QUEUE FILL UP. DELAY IN UPDATE PROCESSING BY OTHER USERS. Rsp. Code 47 DECREASE UNTIL USERS COMPLAIN 129
SAG MANUAL NH= Range: 20 – 16 M Default: 500 PRACTICAL RANGE Number Hold Queue Elements 100 – ? ? ? Element: 28 b NH >= 4 * NISNHQ TOO BIG ? TOO SMALL ? FORMULA= ? HQE SEARCHES ? Rsp. Code 9 sub 1 1. HIGHWATER * 2 2. ( AVG. RECS/TRANS) * (AVG. CONCURRENT. TRANS) 130
SAG MANUAL CT= Range: 1 – 16 M Default: 60 Seconds PRACTICAL RANGE Command Time Limit 30 – 600 MAX TIME FOR COMPLETED COMMAND TO BE RETURNED TO USER ADDRESS SPACE TOO BIG ? TIE UP RESOURCES: HELD RECORDS, ATTACHED BUFFERS, ETC. TOO SMALL ? FORMULA= UNNECCESARY RSP. CD. 254 1. 2. 3. 1 SEC + CICS TIMEOUT EXPECTED WORST-CASE OS SWAP OUT TIME DECREASE UNTIL USERS COMPLAIN 131
CT= FACTS, ISSUES, CONCERNS, NOTES 1. IF CT EXCEEDED: BT IF NECESSARY ATTACHED BUFFERS RELEASED. MESSAGE POSTED TO SYSLOG, DDPRINT: “ADAM 93 00168 USER GONE JOB DB 168 L 1 USER ID BB 2 EAB 566 D 3 A 8 D 85” USER POSTED RSP. CD. 254 132
CT= FACTS, ISSUES, CONCERNS, NOTES 2. TYPICAL CAUSES OF “ADAM 93” : SYSTEM CANCEL OF JOB/TASK SWAPPING OUT SYSTEM PRIORITY / PERFORMANCE NETWORK CICS TIMERS “THE CAUSE OF RSP. CD. 254 / ADAM 93 ERRORS IS GENERALLY NOT ADABAS BUT A PROBLEM OUTSIDE OF ADABAS” 133
TIMERS TT= TNAE= TNAX= TNAA= TLSCMD= MXTT= MXTNA= MXTSX= 134
TIMERS. TIMEOUT SEE OPS. MANUAL, P 225 RULE: ENSURE A RESPONSE-CODE ONLY IF ONE IS NEEDED REASONS TO TELL: TRANSACTION BT’d ETID REMOVED FILE LIST REMOVED (R, ACC, EXU, EXF) ADARUN OPENRQ= =YES =NO OPen MUST BE 1 ST CALL (ELSE RSP. CODE 9 -66) NEW UQE BUILT ON 1 ST CALL 135
SAG MANUAL TT= Range: 1 – 16 M Default: 900 Seconds PRACTICAL RANGE Transaction Time Limit 60 – ? ? ? UPDATE TRANSACTION TIME LIMIT. TOO BIG ? TOO SMALL ? ALLOWS INFREQUENT ET’s (SEE NEXT) ALLOWS FREQUENT ET’s (SEE NEXT). RESPONSE CODE 9 sub 2 FORMULA= SET CLOSEST TO: “LOGICAL UNIT OF WORK” < TNAE 136
TT= FACTS, ISSUES, CONCERNS, NOTES 1. INFREQUENT VS. FREQUENT ET’S INFREQUENT HOLD CONTENTION TIMEOUT RISKS (rsp 9 -2) WORK WRAPAROUND (rsp 9 -15, 8) DELAY DB BACKUP DELAY NUC SHUTDOWN FREQUENT EXCESSIVE COMMANDS IO DELAY (SOLVE WITH LFIOP / FAST DASD) 137
TT= FACTS, ISSUES, CONCERNS, NOTES 2. MEASURING TRANSACTION TIME. TRACE 1 TTIME: SUMMARIZE(SUBTOT=ON) MEAN(TRANSACTION-DURATION) * (ISN-QUANTITY FIELD) COUNT BY TRANSACTION-DURATION (BY 30) WHERE CMD = 'ET' * PRINT TO ETWAS INSIGHT-LINES=200; TRANS DURAT SECS 0. 00 30. 00 ====== MEAN TRANS DURAT CMD SECS COUNT 0. 0845 2, 597 41. 7375 4 ------0. 1486 2, 601 138
TT= FACTS, ISSUES, CONCERNS, NOTES 2. MEASURING TRANSACTION TIME. TRACE 2 TTE: EXTRACT(ML=100000) DATE TIME JOBNAME NAT-PROGRAM CID (PF=H 8) FILE (PF=N 3) CMD TRANSACTION-DURATION WHERE CMD = 'ET' AND TRANSACTION-DURATION GT 240 PRINT TO ETWAS INSIGHT-LINES=400; 139
SAG MANUAL TNAE= TNAX= Range: 1 – 16 M TNAA= Default: 900 Seconds PRACTICAL RANGE Non-Activity Time Limits 60 – ? ? ? TNAE – ET USERS TNAX – EXU USERS (SET IN OPen) TNAA – ACC ONLY USERS(SET IN OPen) TOO BIG ? TIE UP SYSTEM RESOURCES TOO SMALL ? FORMULA= RSP. CODE 9 sub 3 ? ? ? ? 140
TNAx= FACTS, ISSUES, CONCERNS, NOTES 1. MULTIPLE DATABASE ACCESS. DATABASE FOR NATURAL SYSTEM FILES. DATABASE FOR DATA. ISSUES: OPENRQ ? ETID ? UPDATES ? 141
TNAx= FACTS, ISSUES, CONCERNS, NOTES 2. TIMER CHECK: TT, TNAx. MIN ( TT/2 , TNAX/2, TNAE/2, TNAA/2 ) ? SET TNAA, TNAX LOW ? TT=, TNAE=, TNAX=, TNAA= 3600 SECONDS ? WORST CASE TIME BEFORE USER TIMED-OUT ? 142
SAG MANUAL PRACTICAL RANGE Range: 1 – 16 M Default: 300 Seconds Sx Time Limit TLSCMD= BASED ON UI/MI BLOCK ESTIMATION TOO BIG ? TOO SMALL ? ALLOW BAD Sx COMMANDS RSP. CODE 7 FORMULA= estimate IO’s times 20 m. SEC 143
TLSCMD= FACTS, ISSUES, CONCERNS, NOTES 1. BASED ON ESTIMATED IO AND NOT ACTUAL. TOT CM CMDTIME DURATION IO TY ISN QTY -- -------- -- -------A B C ASSO WORK DATA IO IO IO RSP ---- S 1 0. 125538 0. 160210 233 S 126, 267 232 0 1 0 S 1 0. 126843 0. 186851 0 S 126, 267 0 0 S 1 0. 000000 0. 017571 0 S 0 0 7 A INITIAL S 1, TLSCMD=300 B SAME S 1, TLSCMD=300, BLOCKS IN LBP C SAME S 1, TLSCMD=2 via AOS (232 X 20 msec = 4. 6 secs) 144
MXTNA= MXTT= MXTSX= SAG MANUAL PRACTICAL RANGE Range: 1 – 65, 535 Default: 3600 Seconds Limit OPen overrides ? ? ? MXTNA= NON-ACTIVITY TIMERS MXTT= TRANSACTION TIMER MXTSX= TLSCMD TIMER TOO BIG ? TIE UP SYSTEM RESOURCES TOO SMALL ? FORMULA= RSP. CODE 9 -2, 9 -3, 7 ? ? ? 145
MXTNA= MXTT= MXTSX= FACTS, ISSUES, CONCERNS, NOTES 1. NO ERROR CODE IF OPen EXCEEDS PARM. ADARUN SETTING IS STILL VALID 146
PLOG ADARUNS DUALPLD= DUALPLS=? ? PLOGRQ=NO UEX 2=etwas V 7. 4 > 2 PLOGS NPLOG= PLOGDEV= PLOGSIZE= UEX 12= FOR 2 PLOGS, DUALPLS ? 147
PLOG ADARUNS FACTS, ISSUES, CONCERNS, NOTES 1. DUALPLS MUST BE LARGE ENOUGH TO AVOID EXCESSIVE PLOG FLIPPING DURING ADASAV / HIGH-UPDATE SITUATIONS. FLIPTIME vs. PLOG COPY TIME PLOG COPY 1. 2. 3. 4. 5. 6. 7. 8. USE DISK VS TAPE USE STARTED TASK VS. JOB MAX SERVICE CLASS (SYSSTC ? , HIGH VELOCITY) LARGER BLOCKSIZE (INPUT, OUTPUT) NO MIGRATED DATASETS IN JCL KEEP JCL TO THE BARE BASICS CONSIDER DEFERRED CHECKPOINTS (SEPARATE SVC) UEX 2: START, START 148
CLOG ADARUNS V 7. 4 > 2 CLOGS NCLOG= CLOGDEV= CLOGSIZE= UEX 12= DUALCLD= DUALCLS= CLOGLAYOUT=5 LOGGING=YES LOGCB=NO LOGFB=NO LOGRB=NO LOGSB=NO LOGVB=NO LOGUX=NO LOGIB=NO LOGSIZE= LOGIO=NO UEX 4= LOGCLEX=NO 149
USER EXITS UEX 1= Before ADABAS UEX 2= dual PLOG, CLOG Vs. ADALINK UEXA Vs. UEX 12 UEX 3= Phonetization UEX 4= After ADABAS UEX 8= Operator Cmds HEXnn= Hyper Descriptor Routines 150
CACHE PARMS CACHE=YES LOAD ADACSH MODULE CACTIVATE=NO ACTIVATE RABN RANGES AT SESSION OPEN? (DFLT) CDEMAND=0 ACTIVATE CACHE BASED ON BUFF. EFF. ? (DFLT) CDISPSTAT=NO DISPLAY CACHE MSGS ON SYSLOG? CCTIMEOUT=7200 INACTIVITY TILL CACHE SPACE RELEASE (DFLT) CRETRY=900 TIME BEFORE RETRY OF SPACE ALLOCATION (DFLT) CASSOMAXS=20000000 20 M FOR ASSO CACHE SPACE CDATAMAXS=10000000 10 M FOR DATA CACHE SPACE CMAXCSPS=1 CACHE SIZE = CMAXCSPS * C----MAXS CBUFNO=5 NO. OF READ-AHEAD BUFFERS, SEE CEXCLUDE=PHYS/LOGI/HIST/FIND EXCLUDE READ-AHEAD * CWORKSTOR= USE DSP, EXT, HSP. DSP IS STANDARD CWORK 2 FAC=0 PERCENT OF WII TO CACHE (DFLT) CWORK 3 FAC=0 PERCENT OF WIII TO CACHE (DFLT) * CASSODSP= HARDCODED RABN RANGES * CDATADSP= HARDCODED RABN RANGES * CFILE= FILE-LEVEL CACHING (NOT USED) * CXFILE= FILE-LEVEL CACHING (NOT USED) EXCLUDE LIST * CSTORAGE= USE DSP, EXT, HSP. DSP IS STANDARD * ASSOCACHE=YES CONTROLLER CACHE ENABLED (DFLT) * DATACACHE=YES CONTROLLER CACHE ENABLED (DFLT) 151 * WORKCACHE=YES CONTROLLER CACHE ENABLED (DFLT)
CACHE PARMS FACTS, ISSUES, CONCERNS, NOTES 1. WHY USE CACHE? CPU TIME FOR BUFFER FLUSHES (? ? ? ) EXTENDABLE: CAN RESIZE ON DEMAND FAVORITES: REDUCE IO ON SPECIFIC FILES / APPS FLEXIBLE: CENTRAL STORAGE vs EXPANDED FLEXIBLE: NEW IBM FEATURES (eg. Z/OS 2 64 BIT) PERFORMANCE ON DEMAND: ADD/REMOVE FILES TRACK-IO (CBUFNO) 152 2. WHY NOT USE CACHE?
FACTS, ISSUES, CONCERNS, NOTES CACHE PARMS 2. WHY NOT USE CACHE? LBP vs CACHING LOCATE: LBP (V 6) Nth root RABN tree CACHE ADDR vs RABN OFFSET ADDR ACCESS TIME INCREASES AS LBP INCREASES LBP (V 7) LOCATE: RABN hash CACHE ADDR vs RABN OFFSET ADDR 10: 1 INSTR. REDUCTION 16% FASTER ACCESS TIME SAME AS LBP INCREASES 153
CACHE PARMS FACTS, ISSUES, CONCERNS, NOTES 2. WHY NOT USE CACHE? LBP vs CACHING IN THE LAB: 1. NUC UP LBP = 600 K or 110 M CACHE = 110 M or None 2. RUN PGM: LOOP: L 5 / A 1 / 3. NUC DOWN RESULTS: 1. APPROX CPU 3 -5% BETTER 2. CACHE EFF. 90+% IN PRODUCTION: A. FORMER IO SAVINGS FROM CACHE B. LBP = CACHES SPACE (200 M – 450 M) C. IO IMPROVEMENT D. CPU IMPROVEMENT 154
CACHE PARMS FACTS, ISSUES, CONCERNS, NOTES 3. CACHE SPACES: EXP vs DSP vs HYP vs 64 bit CENTRAL EXPANDED REGION= EXT DSP HSP NUC P, Q, T PAGING 64 BIT PAGE PACKS 155
CACHE PARMS FACTS, ISSUES, CONCERNS, NOTES 3. CACHE SPACES: EXP vs DSP vs HYP vs 64 bit EXT DSP HSP 156
CWORKSTOR= SAG MANUAL Value: DATASPACE EXTENDED HIPERSPACE Default: DATASPACE PRACTICAL RANGE Type Cache Space DATASPACE EXTENDED USED FOR BOTH CWORK 2 FAC AND CWORK 3 FAC 157
CWORK 3 FAC= SAG MANUAL Range: 0 – 100 Default: 0 (not used) PRACTICAL RANGE Percent Work 3 to Cache 0 – 100 Percent TOO BIG ? TOO SMALL ? FORMULA= ADABAS REGION SIZE SYSTEM PAGING WORK 3 IO -DETERMINE (SEE WORK -DETERMINE WORK 3 SIZE (AOS, SEE EARLIER) LIKELY AREA USED 3 SIZING) PERCENT 158
CWORK 3 FAC= FACTS, ISSUES, CONCERNS, NOTES 1. WORK 3 SIZE: a. ADAREP WORKSIZE minus LP= minus LWKP 2= b. AOS: A Session monitoring U Display resource utilization W WORK status W O R K Dataset +----------------I Protection Area 50000 Blks I----------------I Intermediate ISN Area 14000 Blks I----------------I Resulting ISN Area 3491 Blks +----------------- 159
CWORK 3 FAC= FACTS, ISSUES, CONCERNS, NOTES 2. IS WORK 3 BEING USED? : a. TRY CWORK 3 FAC=1 b. TRY CWORK 3 FAC=1, DISABLED c. Sx ANALYSIS SX: SUMMARIZE COUNT MEAN(ISNQ) MEAN(WORK-IO) MAX(WORK-IO) BY ISNQ (PF=N 5 WHERE CMD(1) = (PF=N 7) (PF=N 4. 1) (PF=N 2. 1) (PF=N 3) BY 50) ISN 'S' QUANT 0 50 100 : 7, 600 ===== CMD COUNT 247, 283 101 17 : : 3 247, 467 WORK IO DECREASES AS ADARUN NSISN INCREASES MEAN MAX ISN WORK QUANT IO IO 2. 7 0. 0 0 85. 8 1. 0 1 134. 6 0. 9 1 : : : 7, 635. 0 3 3. 0 0. 0 3 160
CWORK 3 FAC= FACTS, ISSUES, CONCERNS, NOTES 3. OPERATOR CONSOLE COMMANDS: CSTAT= CSUM= CDELETE= (UNTIL DATABASE RECYCLE) CDISABLE/CENABLE= 4. WORK 3 CACHE SET AT DATABASE INITIALIZATION ONLY ! 5. CAN USE CWORK 3 FAC=1, CDISABLE, TO DETERMINE WORK 3 IO. 161
CWORK 3 FAC= FACTS, ISSUES, CONCERNS, NOTES 6. MEMORY REQUIREMENTS. APPROX: WORK. BLOCKSIZE * RABNS. CACHED WORK. BLOCKSIZE = 13, 682 WORK 3 SIZE = 4, 000 CWORK 3 FAC = 50 (8391) (AOS) (%) . 50 * 4, 000 * 13, 682 = 28 M 7. CAUTION WHEN: CHANGING WORK (SIZE, BLOCKSIZE). NEW APPLICATION USAGE 162
CWORK 2 FAC= SAG MANUAL Range: 0 – 100 Default: 0 (not used) PRACTICAL RANGE Percent Work 2 to Cache 0 – 50 Percent TOO BIG ? TOO SMALL ? ADABAS REGION SIZE SYSTEM PAGING WORK 2 IO FORMULA= -TRY DIFFERENT INCREMENTS, MONITOR CACHE STATS 163
CWORK 2 FAC= FACTS, ISSUES, CONCERNS, NOTES 1. OPERATOR CONSOLE COMMANDS: CSTAT= CSUM= CDELETE= (UNTIL DATABASE RECYCLE) CDISABLE/CENABLE= 2. WORK 2 CACHE SET AT DATABASE INITIALIZATION ONLY ! 3. CAN USE CWORK 2 FAC=1, CDISABLE, TO DETERMINE WORK 2 IO. 164
CWORK 3 FAC= FACTS, ISSUES, CONCERNS, NOTES 4. MEMORY REQUIREMENTS. APPROX: WORK. BLOCKSIZE * RABNS. CACHED WORK. BLOCKSIZE = 13, 682 WORK 2 SIZE = 24, 000 CWORK 2 FAC = 50 (8391) (AOS) (%) . 50 * 24, 000 * 13, 682 = 165 M 5. CAUTION WHEN: CHANGING WORK (SIZE, BLOCKSIZE). NEW APPLICATION USAGE 165
CBUFNO= TRACK-LEVEL IO THE PROCESS: A. READ TRACK INTO CACHE ( 1 IO) IF CACHE RABN RANGE DEFINED IF CACHE SEQUENCE DEFINED B. RETURN BLOCKS TO REQUESTOR FROM CACHE ADARUN CACHE=YES ADARUN CBUFNO=5 ADARUN * PHYS * LOGI * HIST * FIND *MAX THREADS FOR CBUFNO CEXCLUDE=PHYS/LOGI/HIST/FIND : L 2, L 5 : L 3, L 6 : L 9 : Sx (NON-DE) 166
CBUFNO= TRACK-LEVEL IO BEFORE JOB DB OPERATOR COMMANDS: CINCLUDE=PHYS START CDATAMAXS=100000 CDATADSP=fromrabn-torabn ! CAUTION IF OTHER DATA CACHE ! RUN JOB AFTER JOB DB OPERATOR COMMANDS: END CEXCLUDE=PHYS CDATAMAXS=to previous setting CDELETE=cache space number 167
CBUFNO= CM TRACK-LEVEL IO CMD COUNT ENQTIME DURATION CMDTIME TOTALIO 111. 4 3, 044. 5 764. 6 629, 272 126, 133 1. 8 1, 541. 4 522. 2 629, 272 126, 133 1. 5 1, 049. 9 469. 5 629, 272 L 2 25, 982, 684 L 2. MLF CBUFNO L 2 CACHE STATS: 125, 855 READ EXCPS 503, 417 CACHE READS 168
PREFETCH=YES PREFNREC= PREFICMD /PREFIFIL PREFXCMD /PREFXFIL PREFSBL PREFTBL DOES PREFETCH COST MORE CPU ? 1. NUC UP 2. RUN MLF JOB TO READ 100 K RECS 3. NUC DOWN. VARY: NREC = 0 (NO MLF) 1, 10, 25, 50, 100 RUN EACH 3 X (Version 7. 1) IN THE LAB 169
PREFETCH. RUN 1 RUN 2 RUN 3 RUN 1 RUN 2 RUN 3 NREC 0 0 0 1 10 10 10 25 25 25 50 50 50 100 100 CMD. CNT 99, 850 99, 860 9, 995 4, 005 2, 005 1, 010 170
PREFETCH. N=0 N=10 N=25 N=50 N=100 171
PREFETCH. N=0 N=10 N=25 N=50 N=100 172
DAS ENDE 173
/* REXX */ /* Read ADAREP CPEXLIST and create spreadsheet for SYNS 60 info */ TRACE OFF ; ARG REPNAME "ALLOC DA('"REPNAME"') F(INFILE) SHR REUSE" /* Read Rep to LINE. array*/ "EXECIO * DISKR INFILE (FINIS STEM LINE. " "FREE DA('"REPNAME"')" SAY 'ENDDATE ENDTIME ELAP COUNT CPU PHYSIO LOGIO' STARTSET = 'NO' DO F = 1 TO LINE. 0 /* read all lines, LINE. 0 */ PARSE VAR LINE. F CKPTNAME CKPTTYPE CKPTDATE CKPTTIME F 6 F 7 /* EG: "SYNC 01 2004 -02 -07 23: 13: 58 371 */ IF CKPTNAME = 'SYNC' & CKPTTYPE = '01' & CKPTDATE /= 'ET' THEN DO /* IF NUC START, SET START TIMES */ STARTDATE = CKPTDATE ; STARTTIME = CKPTTIME PARSE VAR STARTTIME HH ': ' MM ': ' SS STARTSECS = (HH * 3600) + (MM * 60) + SS /* SECS SINCE 00: 00*/ STARTSET = 'YES' END IF CKPTNAME = 'SYNS' & CKPTTYPE = '60' THEN DO /* collect data and report */ IF STARTSET = 'NO' THEN DO /* skip first interval */ STARTDATE=CKPTDATE ; STARTTIME=CKPTTIME ; STARTSECS=CHKPTSECS ITERATE END /* EG: "NUCLEUS STATISTIC NR OF CALLS = 2375288 NR OF PHYSICAL IO = 776325 NR OF LOGICAL IO = 11159330 TIME = 2004 -02 -08 00: 16: 54 CPU USED = 00: 11: 26 "*/ F = F + 2 ; PARSE VAR LINE. F. . COUNT. F = F + 1 ; PARSE VAR LINE. F. . . PHYSIO. F = F + 1 ; PARSE VAR LINE. F. . . LOGIO. F = F + 2 ; PARSE VAR LINE. F. . . CPU. PARSE VAR CPU HH ': ' MM ': ' SS CPU = (HH * 3600) + (MM * 60) + SS /* cpu time in seconds */ /* determine elapsed seconds for this interval */ PARSE VAR CKPTTIME HH ': ' MM ': ' SS CHKPTSECS = (HH * 3600) + (MM * 60) + SS IF STARTDATE = CKPTDATE /* Check for wrap to newday*/ THEN ELAP = CHKPTSECS - STARTSECS ELSE ELAP = CHKPTSECS + 86400 - STARTSECS /* Format for report and write out */ COUNT = RIGHT(' 'COUNT, 9) PHYSIO = RIGHT(' 'PHYSIO, 9) LOGIO = RIGHT(' 'LOGIO, 9) CPU = RIGHT(' 'CPU, 4) ELAP = RIGHT(' 'ELAP, 4) SAY CKPTDATE CKPTTIME ELAP COUNT CPU PHYSIO LOGIO /* set time pointers for next interval */ STARTDATE=CKPTDATE ; STARTTIME=CKPTTIME ; STARTSECS=CHKPTSECS END /* SYNS-60 PROCESING */ END /* Read of whole Adarep */ RETURN /* end program */ APP. A. Read Adarep Cpexlist for SYNS 60 174
- Slides: 174