1.74k likes | 1.75k Views
Learn about adjusting Adabas settings for improved performance and troubleshooting common issues in mainframe systems.
E N D
ADABAS ADARUN PARAMETERS Jim Poole Spring, 2004
NOT TCP/IP NOT UES RULES OF THE DAY VERSION 7.4.2 MAINFRAME OS THE NUCLEUS,MPM NOT CLUSTER SERVICES NOT PARALLEL SERVICES NOT SPT NOT FASTPATH NOT SMGT NOT DSF NOT BS2000 NOT CACHE ? NOT VISTA NOT PREF* ? NOT DTP
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 LWKP2 LCP LDEUQP LFP LI LQ LS LWP LU NAB NC NH NISNHQ NQCID NSISN NT NU CT TT TNAE TNAA TNAX TLSCMD MXTNA MXTSX MXTT DUALPLD DUALPLS PLOGRQ UEX2 NPLOG PLOGDEV PLOGSIZE UEX12 CACHE CDISPSTAT CASSOMAXS CDATAMAXS CMAXCSPS CBUFNO CEXCLUDE CINCLUDE CWORK2FAC CWORK3FAC CWORKSTOR ASSOCACHE DATACACHE WORKCACHE UEX4 CLOGLAYOUT LOGGING LOGCB LOGFB LOGRB LOGSB LOGVB LOGIB LOGIO LOGCLEX LOGUX LOGSIZE DUALCLD DUALCLS NCLOG CLOGDEV CLOGSIZE UEX1 UEX3 UEX4 UEX8 HEXNN WILL DISCUSS (some more, some less): “Too Big, Too Small, Range, Formula, Issues”
COMMON TO ALL METHODS: COMMON TO OP.CMDS & AOS: CT= READONLY=YES/NO TNAA=,TNAE=,TNAX=,TT= UTIONLY=YES/NO Cmd Logging Cache(limited) ASYTVS=YES/NO AOSLOG=YES/NO FMXIO= ONLINE CHANGEABLE ADARUNS VIA: AOS: A Session monitoring P Modify parameters OP.CMDS: OPERATOR MODIFY COMMANDS TO DATABASE ADADBS: ADADBS OPERCOM parm
ONLINE CHANGEABLE ADARUNS: AOS LS, LU, TT, TNAA, TNAE, TNAX, TLSCMD, CT
ONLINE CHANGEABLE ADARUNS: AOS READONLY, UTIONLY, AOSLOG, NISNHQ, NQCID, NSISN, TFLUSH, FMXIO, ASYTVS
ONLINE CHANGEABLE ADARUNS: AOS LOGGING, LOGxx
For Example: ADARES REGENERATE, 8 RUNS EACH --SUM-- --MPM-- AVERAGE AVERAGE ELAPSED ELAPSED TIME TIME 13.89 M 2.82 M 80 % FASTER MODE= PROGRAM=ADANUC,MODE=who cares PROGRAM=USER/Util. ,MODE=MULTI ! SINGLE USER MODE IS DEAD !
ADAORD RESTRUCTUREDB, ADAFRM ASSO,DATA,etc, ADADEF ADAORD STORE PROCESS NOTE: ADARES REGENERATE AT RECORD LEVEL, NOT BLOCK LEVEL DEVICE= USE LARGER BLOCKSIZES 1. MORE USABLE DISK SPACE PER CYLINDER. 2. ALLOW LARGER COMPRESSED RECORD SIZES. 3. MAY IMPROVE PERFORMANCE ON READS. ADVANTAGES DOING IT DISADVANTAGES
DEVICE DEVICE ASSO ASSO DATA DATA WORK,PLOG WORK,PLOG TEMP,SORT TEMP,SORT BYTES PER CYLINDER (15 TRACKS/CYL) BLOCKSIZE / RABNS PER TRACK DEVICE=
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 LWKP2 = .42 X OLD.LWKP2 DUALPLD = 8391 DUALPLS = 60 X PLOG.CYLINDERS CASSOMAXS = 2 X OLD.CASSOMAXS CDATAMAXS = 2 X OLD.CDATAMAXS
QBLKSIZE= (Utilities) FOR SEQUENTIAL DATASETS, BY ADAIOR, FOR UTILITIES (eg. ADASAV, ADAORD) RANGE: 0 – 262144 RECOMMEND: 32760 BLKSIZE > 32K ? OS/390 V2R10 or beyond All IBM PTF’s TAPE DRIVE SUPPORT (256K/3590 ; 64K/3490) OTHER SOFTWARE SUPPORT: SYNCSORT, IDCAMS, . . . LIVE TESTS
ELAPSED TIME (MINUTES) IO’S 32K 64K 32K 64K CPU TIME (SECONDS) 32K 64K QBLKSIZE= (Utilities) FOR EXAMPLE ADASAV, 35 TAPES, 3490 TAPE DRIVE, 64K vs 32K
ADAREP CPEXLIST,OFFSET= SYNS 60 2004-02-10 02:36:59 371 408219 DUAL ADABAS NUCLEUS STATISTIC NR OF CALLS = 7620877 NR OF PHYSICAL IO = 863235 NR OF LOGICAL IO = 33007256 TIME = 2004-02-10 02:36:59 CPU USED = 00:15:56 FOR SECONDS BETWEEN SYNS-60 CHECKPOINTS INTNAS= RANGE: 1 – 16M RECOMMEND: 900-3600 (dflt) FOR EXAMPLE 2018 CMD/SEC 0.00012 CPU SECS/CMD 7971 CMD/CPUSEC 0.11 IO/CMD 4.33 LOGIO/CMD
INTNAS= READ ADAREP TO CREATE SPREADSHEET DATA (see App A.) FOR EXAMPLE ENDDATE ENDTIME ELAP COUNT CPU PHYSIO LOGIO 2004-01-21 02:57:33 3785 7341915 1132 1584352 36505364 2004-01-21 04:00:28 3775 4879015 791 991498 27161035 2004-01-21 05:03:23 3775 2615022 464 740762 12972842 2004-01-21 06:06:18 3775 2105966 384 633038 8770941 2004-01-21 07:09:13 3775 2688202 451 772353 10776397 2004-01-21 08:12:07 3774 2972559 511 950627 12445276 2004-01-21 09:15:02 3775 5216202 807 1088544 21874673 2004-01-21 10:17:57 3775 4537068 782 1199195 19405448 2004-01-21 11:20:52 3775 3655436 698 1206367 16500919 2004-01-21 12:23:47 3775 9659914 1376 1718928 35454506 2004-01-21 13:26:42 3775 17998064 1781 1376631 50015690
GCB Worksize • LP= II. LWKP2= III. Remainder WORK DATASET ADARUNS ADADEF NEWWORK WORKSIZE= SIZE BIG 500C,1500C,3333C PROTECTION AREA COMPLEX SX ISN LISTS, (overflow and saved)
PRACTICAL RANGE 8391: 25000 – 100,000 3390: 2x above SAG MANUAL Range: 200 – 2G Default: 1000 LP= 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)
NEW FORMULAS (Worst Case, to avoid 9-15) LP= • = 4 * ( 1 / time.WORK.IO) * (ADARUN TT=) EG. 4 * 1 / .002 * 300 = 4 * 500 * 300 = 600,000 2. = 4 * ( W.Bs / UPDATE ) * (ADARUN NH=) EG. 4 * 3 * 20,000 = 240,000 NOTE: COULD USE NH HIGH-WATER MARK W.BS = 3 (DS-BI, DS-AI, DVT), consider SPANNED, etc
4. CONCERN: SMALL LP INCREASES BUFFER FLUSHES LIVE TESTS FACTS, ISSUES, CONCERNS,NOTES LP= 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.
BUFFER FLUSHES NUC LBP=100M LFIOP=25M LP=??? BLOCKS WRITTEN PGM READ FILE: L5,A1,ET (LOOP 10X) FILE 20K RECORDS 999 DS BLKS BLKSIZE= 10796 LP= FOR EXAMPLE LP= 200 400 800 1600 3200 6400 13K 26K 41k
PRACTICAL RANGE 8391: >10,000 3390: >24,000 SAG MANUAL Range: 0 – 16M Default: 0 TOO BIG ? CWORK2FAC=% ISSUES TOO SMALL ? DELAYED Sx COMMANDS RSP.CD. 74 FORMULA= (Dflt) 22 + 2 * (4*TOPISN/(WB – 16) (Ideal) S * 2 * (4*TOPISN/(WB – 16) LWKP2= ! USE !
FACTS, ISSUES, CONCERNS,NOTES LWKP2= • CONCERN: IF NO LWKP2, RISK PARM-ERROR-18 NUC START Example. 2. FACT: CQ -> THRD, COMPLEX SX NOT SELECTED IF LESS THAN 50% WII AVAILABLE. SubFACT: ALL NATURAL Sx ARE FLAGGED COMPLEX! 3. ISSUE: SIZE LWKP2 TO BE 50% FREE ! 4. NOTE: CAN USE CWORK2FAC=% TO VERIFY USE 5. ISSUE: IDEAL FORMULA REVISTED =========>>
FORMULA= (Ideal) S * 2 * (4*TOPISN/(WB – 16) LWKP2= WB = 5724(3390) or 13682 (8391) • = BLOCK HEADER 4 = 4b PER ISN TOPISN = OF LARGEST FILE FOR SX CMDS • = ALWAYS ENSURE 50% AVAILABLE S = PEAK NO. OF CONCURRENT COMPLEX COMMANDS. %Sx TIMES USED THREADS (?TIMES 2?)
PRACTICAL RANGE 100 - ???? SAG MANUAL Worksize minus LP= minus LWKP2= TOO BIG ? CWORK3FAC=% ISSUES W3 Bit Map (4b/WB) TOO SMALL ? PARM-ERROR-18 AT NUC START (50B) RSP.CD. 73 FORMULA= (See separate slide) WORK 3
FACTS, ISSUES, CONCERNS,NOTES WORK 3 • FACT: 4Byte/WORK3Block BELOW 16M LINE. S.U.M. UTILITIES. Eg. WORK = 3390 3337 CYLS, LP=65000, LWKP2=10000 WORK3= 375,495B MEMORY = 4 * 375,495B = 1.5M 2. NOTE: CAN USE CWORK3FAC=% TO VERIFY USE 3. NOTE: INCREASE OF NSISN= REDUCES W3 USE. 4. ISSUE: FORMULA =========>>
WORK 3 FORMULA= = NU = NU * AVER.ISN.LISTS.PER.USER = 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 AWBU = AVERAGE WORK BLOCKS PER ISN LIST ONE LIST PER BLOCK 3390 = 1431 ISN’S 8391 = 3420 ISN’S = 1 ?
GOALS: SAVE READ IO’S SAVE WRITE IO’S AVOID DELAYS: CPU, IO BUFFER POOL ADARUNS ! USE ! WILL COVER:
BUFFER POOL ADARUNS, STATS DDPRINT: READS WRITES ASSO 4597834 52118 DATA 31008250 64223 WORK 9369 390163 PLOG 21 228531 LOG. READS 1,707,256,475 BUFFER EFF. 47.0 189 BUFFERFLUSHES WERE DONE FLUSH PHASES 189 BLOCKS FLUSHED 134,457 FLUSH I/OS 116,211 IO’S, NOT BLOCKS BLOCKS PER FLUSH MISSING: FLUSH TIMES, FLUSH DELAYS OP.SYSTEM: IO TIMES, IOS QUEUING, PAGING
FOR EXAMPLE BUFFER POOL ADARUNS, STATS LBP: SUMMARIZE (SUBTOT=OFF) MIN(TIME) BUFFER-FLUSHES-INTERVAL (PF=N2 HD='BF','IN') BUFFER-FLUSHES-SESSION (PF=N4 HD='BFLS') COUNT (PF=N6) MEAN(ECBS) (PF=N2.1 HD='AVG','ECB') MEAN(DURATION) (PF=N1.5) MEAN(CMD-TIME) (PF=N1.5) ASSO-READS-INTERVAL (PF=N5 HD='ASSO','READ') DATA-READS-INTERVAL (PF=N5 HD='DATA','READ') ASSO-WRITES-INTERVAL (PF=N5 HD='ASSO','WRIT') DATA-WRITES-INTERVAL (PF=N5 HD='DATA','WRIT') INTERVAL 60 SECONDS INSIGHT-LINES=300; CLOG TOOL: CLOG TOOL MIN BF CMD AVG MEAN MEAN ASSO DATA ASSO DATA TIME IN BFLS COUNT ECB DURAT CMDTIME READ READ WRIT WRIT 174801 1 2,865 88,650 2.7 0.00123 0.00009 4,459 9,845 1,124 449
BUFFER POOL ADARUNS: BUFFER FLUSHES CAUSES: 3 VARIATIONS: -ADAEND,HALT -AUTORESTART/ AUTOBACKOUT -UTI OPEN -SYN1,SYN2 -C1, COPT=F -OPERCOM SYNCC -W-1 WRAPAROUND -UPD BLK COUNT = LFIOP/DS.BLKSIZE -ADARES SYNP-28 • UPD PROCESSING CONTINUES (DEFAULT) • UPD PROCESSING WAITS TIL BFL DONE (LFIOP GONE SYNCHRONOUS) C. ET-SYNC: NO NEW UPDTRANSACTIONS (SYN2,ADAEND,HALT,SYNCC) REDUCE BFLS: INCREASE LP=, LFIOP= DELAY/DEFER UTILITY CHECKPOINTS (Eg. PLOG COPY)
BUFFER FLUSHES NUC LBP=100M LP=41K LFIOP=??? BLOCKS WRITTEN PGM READ FILE: L5,A1,ET (LOOP 10X) FILE 20K RECORDS 999 DS BLKS BLKSIZE= 10796 LFIOP=,BFLs FOR EXAMPLE LFIOP= 1M 2M 4M 6M 8M 10M 12M 20M 25M
CHECKPOINT DELAYS: SYNP-28 ADARES PLCOPY MEAN DUR PER UPD CMD PER 10 SECOND INTERVALS EXTREMELY HIGH UPDATE ENVIRONMENT Normal Plog Copy Plog Copy with no checkpoints
PRACTICAL RANGE 3390: 2.5M – 10M 8391: 5M – 20M < 1/5 LBP SAG MANUAL Range: 80K - 2G Default: 0 =1 is ¼ 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) LFIOP=
FOR EXAMPLE FORMULA 2: AVER.WRITE.IO = .004 SECS DS.BLKSIZE = 5064 2 SEC / .004 = 500 IO’S LFIOP = 2.5M 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
FACTS, ISSUES, CONCERNS,NOTES LFIOP= • 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= !
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 ??? FACTS, ISSUES, CONCERNS,NOTES LFIOP= 2. CONCERN. LFIOP GOING SYNCHRONOUS. POSSIBLE CAUSES: Small LP=, CHECKPOINTS. ? LFIOP SIZE ? LFIOP IF BUFFER FLUSH TIME > TIME BETWEEN FLUSHES.
FACTS, ISSUES, CONCERNS,NOTES LFIOP= 2. CONCERN. LFIOP GOING SYNCHRONOUS. HOW TO TELL ? DDPRINT: FOR EXAMPLE 4,096 BUFFERFLUSHES WERE DONE FLUSH PHASES 4,096 BLOCKS FLUSHED 5,257,378 FLUSH I/OS 3,727,343 FLUSH REQUESTS: RETURN IMMEDIATELY 2,752 RETURN AFTER LOGICAL FLUSH 0 RETURN AFTER ENTIRE FLUSH 1,933
4,096 BUFFERFLUSHES WERE DONE FLUSH PHASES 4,096 BLOCKS FLUSHED 5,257,378 FLUSH I/OS 3,727,343 FLUSH REQUESTS: RETURN IMMEDIATELY 2,752 RETURN AFTER LOGICAL FLUSH 0 RETURN AFTER ENTIRE FLUSH 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 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
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
FACTS, ISSUES, CONCERNS,NOTES LFIOP= 3. ISSUE. IDEAL BUFFER FLUSH TIME ????????
PRACTICAL RANGE YES: INITIATE 1 IO PER VOLUME (PARALLEL IO) SAG MANUAL YES / NO Default: YES ASYTVS= (BUFFER FLUSH TIME). NOTE: NO: WRITE IO IN ASCENDING RABN SEQUENCE (ASSO/DATA). IF MANY VOLUMES WITH WRITE IO’s, ASYTVS=YES COULD CAUSE EXCESSIVE PAGE FIXING.
PRACTICAL RANGE SAG MANUAL FMXIO= (BUFFER FLUSH TIME). ASYTVS=NO: 1 – 100 Dflt=60 ASYTVS=YES: 1 – 16 Dflt=1 ASYTVS=YES, FMXIO= ?? • 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
ADARUN ASYTVS=YES FMXIO= DASD NEW DASD INCREASE CACHE CHANNELS PAV SUPPORT DBA FILE MAPPING DE REDUCTIONS LARGER BLOCKSIZE PADDING FACTORS REORDERS FIC APPS SCHEDULING OF UPDATE JOBS SET REUSEDS=OFF DURING HIGH ADD PROCESSES UPD BY L2 VS BY L3 BUFFER FLUSH TIME. Improving.
HEADER= STCK 8B IND TYPE 00 02 BFL START 00 80 BFL END WORK STCK 1.05 secs (rightmost) ADAPLP WORKPRI TYPE=ALL,LAYOUT=2/3,SKIPRABN=,STOPRABN= 3555. (BLOCK HEADER) LEN BLOCK-# SESS V SIZE DBID TIMESTAMP 2A35 0000 00134713 01E3 C8 00013880 0035 BB1BA80240C50C81 LEN BEFZ IN TY USER-ID 000A 00BF4C82 00 40 000A 00000000 00 02 027C 00BF4C91 A0 08 3557. (BLOCK HEADER) 2E1F 0000 00134715 01E3 C8 00013880 0035 BB1BA80439BF7B0A LEN BEFZ IN TY USER-ID 000A 00BF4C82 00 80 008A 00BF5384 A0 08 BUFFER START BUFFER END BUFFER FLUSH TIME. Measuring. ???
PRACTICAL RANGE 3390: 40M – 500M 8391: 80M – 500M > 5 * LFIOP SAG MANUAL Range: 80K - 2G Default: 350,000 TOO BIG ? SYSTEM PAGING ? SCAN FOR BLOCK ? NOT! ? SCAN FOR OVERWRITE ? NOT! SCAN FOR UPDATED BLOCKS REGION SIZE, MODE=SINGLE PERFORMANCE PROBLEMS TOO SMALL ? FORMULA= nK per Active File per ????? LBP=
FOR EXAMPLE LBP = 200M DEVICE = 3390 A.Blksize = 2544 HEADERS = 78,616 FACTS, ISSUES, CONCERNS,NOTES LBP= • CONCERN. SCAN HEADERS TO LOCATE UPDATED BLOCKS. HEADERS = LBP / ASSO.BLKSIZE DEPENDS ON BFL FREQUENCY LAB TESTS
PGM 1 (Read x Blks into LBP) READ FILE (1 Rec/Blk): L2 (LOOP X times) Verify Headers: Insight Measure Nuc CPU Time. CYCLE NUC MEASURE NET CPU PGM 2 UPD SAME ISN (ALTERNATE VALUES) ET EVERY 20 REPEAT 100K TIMES RUN LBP HEADERS FLUSHES BLKS-WRITTEN 1 440M 8 5003 5022 2 110M 9,290 5003 5022 3 220M 18,571 5003 5022 4 440M 39,132 5003 5022 (REPEAT 5 TIMES) FOR EXAMPLE LBP=, HEADER SCAN NUC LFIOP=5M LP=200 LBP=??? DEVICE=8391 RESULTS
LBP=, HEADER SCAN 95.0 SECS 89.2 SECS 83.7 SECS 81.3 SECS 8 18,571 37,132 9,290