Presentation is loading. Please wait.

Presentation is loading. Please wait.

Adabas Performance Topics

Similar presentations


Presentation on theme: "Adabas Performance Topics"— Presentation transcript:

1 Adabas Performance Topics
Jim Poole, Verizon April, 2014

2 CONTENTS Forward Index Compression MTR for ADARES REGENERATE
RUN UTILITIES M.PM., NOT S.U.M. USE ADARUN LFIOP USE ADAREP NOCOUNT AS A DEFAULT PE GROUPS, ALWAYS ADD UNUSED FIELDS INCREASE BLOCKSIZE DEFAULT BATCH MLF KNOW WHEN TO CACHE, WHAT NOT TO SHADOW DATABASES, 7X24 MAXIMIZE WORK PART I (ADARUN LP=) USE ADARUN NPLOG/NWORK1 LIMIT USER VIEW SIZE USE S/J OR DIRTY READ ZAP ADARUNS TO MINIMIZE DO NOT USE FIXED COMPRESSION AVOID EXCESSIVE REORDERING PADDING AND UNUSED FILE SPACE

3 1. Forward Index Compression
SET WITH ADALOD or ADAORD INDICATOR IN ADAREP SAVE INDEX SPACE (40 – 50%) SAVE ON DATABASE GROWTH REDUCE IO FOR L3/L6 L9 IMPROVED BUFFER EFFICIENCY FASTER UTILITIES NO INCREASE CPU OVERHEAD

4 1. Forward Index Compression
FIC->

5 1. Forward Index Compression
FIC

6 1. Forward Index Compression
FIC->

7 2. MTR for ADARES REGENERATE
//DDKARTE MTR=YES DATABASE ADARUN: NT= (to allow overlap) NABS= (NT*16, else !ERROR-099! abend may occur) NC= (>2*NT) LFIOP= (for performance) MULTI-THREADING PROCESSING STATISTIC PLOG BLOCKS READ FROM INPUT PLOG RECORDS SENT TO ADABAS COMMANDS PROCESSED TRANSACTIONS PROCESSED NUMBER OF ADABAS CALLS MAXIMUM CALLS IN PARALLEL AVERAGE CALLS IN PARALLEL AVERAGE RECORD BUFFER SIZE

8 2. MTR for ADARES REGENERATE
MTR=NO  MTR=YES 

9 3. RUN UTILITIES M.PM., NOT S.U.M
S.U.M.: NO CACHE, ALL BELOW 16M LINE CONSIDER UTIONLY=YES EXAMPLE: ADARES REGENERATE : -SUM MPM-- ELAPSED ELAPSED TOTAL= M M 80% FASTER AVER== M M

10 4. USE ADARUN LFIOP ALLOWS ASYNCHRONOUS PROCESSING
LARGER LFIOP DECREASES BUFFER FLUSHES BUFFER FLUSHES LFIOP= 1M 2M 4M 6M 8M 10M 12M 20M 25M

11 5. USE ADAREP NOCOUNT AS A DEFAULT
ADAREP BY DEFAULT READS EVERY USED AC BLOCK FOR RECORD COUNT DB HAS 60 FILES, 100k RECORDS ADAREP ‘COUNT’: 122K ASSO IO, 4.65 MINS. ADAREP NOCOUNT: ASSO IO, .46 MINS. 5,483,439,070 Records 6,487,490 AC used blocks $25K CPU/year for Adarep ALTERNATE IDEA FNDEF='01,FC,1,A,DE' FILE-COUNTER (NO NU) HISTOGRAM for RECORD COUNT ADAREP READS AC ON DISK HISTOGRAM READS FROM LBP (BUFFER POOL)

12 6. PE GROUPS, ALWAYS ADD UNUSED FIELDS
RESERVE FIELDS FOR FUTURE USE ADACMP FNDEF='01,AO,5,U,NU' TERMN-ID ADACMP FNDEF='01,BA,PE(191)' BRANCHES ADACMP FNDEF='02,BB,14,U,NU' NEXT-NODE-ID ADACMP FNDEF='02,BC,3,A,NU' NEXT-NODE-TYPE ADACMP FNDEF='02,BD,1,A,NU' DEFAULT-IND ADACMP FNDEF='02,BE,1,A,NU' NOT-USED-001 ADACMP FNDEF='02,BF,1,A,NU' NOT-USED-002 ADACMP FNDEF='02,BG,1,A,NU' NOT-USED-003 ADACMP FNDEF='02,BH,1,U,NU' NOT-USED-004 ADACMP FNDEF='02,BI,1,U,NU' NOT-USED-005 ADACMP FNDEF='02,BJ,1,U,NU' NOT-USED-006

13 7. INCREASE BLOCKSIZE a. EXAMPLE: 8391 OR 8393
b. CAN INCREASE SPACE AVAILABLE PER CYLINDER c. AVOID RESPONSE CODE 53 d. ALTERNATE TO SPANNED RECORDS e. MAY IMPROVE PERFORMANCE ON READS EXAMPLE: DEVICE = 8391 LBP = 2 X OLD.LBP LFIOP = 2 X OLD.LBP WORK: EITHER DOUBLE WORKSIZE or LP = .42 X OLD.LP LWKP2 = .42 X OLD.LWKP2 DUALPLD = 8391 DUALPLS = 60 X PLOG.CYLINDERS CACHE PARMS

14 8. DEFAULT BATCH MLF SET UP AS DEFAULT FOR ALL BATCH JOBS
ADARUN PREFETCH=YES ADARUN PREFSBL=60000 ADARUN PREFTBL=240000 ADARUN PREFNREC=2 ( SBL SIZES ARE OPTIMUM FOR PRE V8 NON-ACBX )

15 14% CPU SAVINGS ($25k CPU COSTS PER YEAR)
8. DEFAULT BATCH MLF RESULTS 14% CPU SAVINGS ($25k CPU COSTS PER YEAR)

16 QUICK CACHE NOTES WHEN TO CACHE ASSO/DATA?
1. SYSTEM MEMORY CONSTRAINTS FOR ADABAS TASK (eg. Paging, availability of 64bit, etc) 2. LIMITS TO LBP SIZE DUE TO FREQUENT BUFFER FLUSHES. (cpu time to scan for updated blocks); (otherwise no limits to LBP size except for #1 above.) 3. ADVANTAGE OF AN ‘EXTENDABLE’ BUFFER POOL (can resize based on demand) 4. IMPROVE PERFORMANCE ON SELECTED FILES OR JOBS. 5. ‘PRIORITIZE’ RETENTION OF CACHE BLOCKS (service levels) 6. PERFORMANCE ON DEMAND TO USE CBUFNO

17 QUICK CACHE NOTES FIRST. WHEN TO CACHE? WORK
W WORK II - ALWAYS (SEE SAG WIKI) WORK III - ALWAYS (SEE SAG WIKI) WW ASSO/DATA – GENERALLY DO NOT CACHE “IN GENERAL X MEG FOR LBP IS BETTER THAN X MEG FOR CACHE” GOAL OF CACHING “The goal of Adabas Caching is to improve response time by reduced IO without incurring unacceptable CPU increases or unacceptable memory usage (conflicting with other non-Adabas users of the system).”

18 QUICK CACHE NOTES < 30% 30 – 60 % > 60 % CACHE EFFICIENCY
MORE CPU SLOWER RESPONSE MORE CPU LESS CPU FASTER RESPONSE FASTER RESPONSE

19 Goal: Response time (not IO)
QUICK CACHE NOTES WHAT'S BETTER: ASSO, DATA, OR BOTH? 1. Best to cache DATA or possibly BOTH 2. As the amount of ASSO IO increases, then there is an increasing tendency to cache BOTH 3. Rarely cache only ASSO. Goal: Response time (not IO) (TESTED UP TO WHERE 50% OF ALL IO FROM ASSO)

20 10. SHADOW DATABASES, 7X24 AVOID OUTAGES
1. CONVERT FILES TO 4B ISN OR REVERSE. (EXANDED FILE REDO) 2. CHANGE BLOCKSIZE OF DATABASE 3. REORDER TO FORWARD INDEX COMPRESSION 4. COMPLETE REORDER (empty Index blocks, extents, cluster, resequ.) 5. HIGH VOLUME TESTING. DBA TESTING 6. DATABASE INTEGRITY CHECKS. INTEGRITY FIX: ULD/LOD 7. CONVERT SPANNED FILES TO UNSPANNED 8. SOME MAJOR APPLICATION CHANGES 9. MERGE/SPLIT DATABASES 10. DISASTER RECOVERY SITE

21 10. SHADOW DATABASES, 7X24 ADARES REGEN PRIMARY DB 99 SHADOW GAIN:
PLOG ADARES REGEN PRIMARY DB 99 SHADOW GAIN: MAXIMUM OUTAGE TIME: 5 – 15 MINS. COST: DUPE DASD FOR ASSO/DATA/WORK SETUP TIME MONITOR TIME CPU: < 2% ALTERNATIVE: EVENT REPLICATOR COST: SETUP TIME CPU LICENSE COST

22 11. MAXIMIZE WORK PART 1 FOR MORE DETAILS ON SIZING, EXPLANATIONS, SEE: SAG WIKI Article "WORK Dataset. Sizing, Performance, Issues” WORK DEVICE=8393 (half track) ADARUN LP=89,000 FOR EXAMPLE 5,000 CYLS

23 11. MAXIMIZE WORK PART 1 NUC PGM FILE SMALL LP INCREASES
BUFFER FLUSHES SMALL LP INCREASES BUFFER FLUSHES FOR EXAMPLE LBP=100M LFIOP=25M LP=??? NUC READ FILE: L5,A1,ET (LOOP 10X) PGM BLOCKS WRITTEN 20K RECORDS 999 DS BLKS BLKSIZE= 10796 FILE LP= K 26K 41k

24 ADARUN NPLOG/NWORK1 (ADARUN)
ADARUN NPLOGBUFFERS = 1 - 2,147,483,687 ADARUN NWORK1BUFFERS = 1 - 2,147,483,687 1. DEFAULT = 1 (1 IO PER BLOCK) 2. REQUIRES LFIOP /= 0 3. IF ADARUN V64BIT=YES Then ABOVE 2G BAR 4. MEMORY SPACE = buffer.count X blocksize

25 12. USE ADARUN NPLOG/NWORK1
BATCH JOB DURATION (HIGH UPDATE) BUF=1 BUF=10 BUF=40 TEST:

26 ! AVOID GENERALIZED VIEWS !
13. LIMIT USER VIEW SIZE ! PROGRAMS SHOULD SELECT ONLY THE FIELDS NEEDED ! ! AVOID GENERALIZED VIEWS ! GENERAL : READS 214 FIELDS OFF FILE B. SPECIFIC: READS 20 FIELDS OFF FILE DO 100,000 READS WITH BOTH METHODS. EXAMPLE

27 13. LIMIT USER VIEW SIZE RESULTS: PERCENT SPECIFIC GENERAL CHANGE
EXAMPLE PERCENT SPECIFIC GENERAL CHANGE RECORD BUFFER 115b b ELAPSED TIME MIN MIN % CPU OF USER ? ? % CPU OF ADABAS 89 SEC SEC % ADABAS SQL: AVOID SELECT * USE NATURAL LDA’S FOR ONLY THE NEEDED FIELDS

28 14. USE S/J OR DIRTY READ ZAP
USER OBSERVATIONS WITHOUT THE ZAP 30% FOVW: FROM 0 TO 1000/WK 12% FORMAT OVERWRITES LFP MAXED 12% 3% 20% ? 10-15%

29 14. USE S/J OR DIRTY READ ZAP
DB X CPU TIME PER CMD 37 DAYS BEFORE/AFTER SORTED LOW TO HIGH NO ZAP => WITH ZAP

30 14. USE S/J OR DIRTY READ ZAP
DIRTY READ CHECK, RC 175 “ UNDER V7.4 ON AN L3, THE VALUE IN THE INDEX IS CHECKED AGAINST THE VALUE IN DATA STORAGE. IF THEY DO NOT MATCH, A RC 175 IS RETURNED.” L3,L6, some S1/4 Response 175 Explanation: An inconsistency was detected between the index and Data Storage. Action: Run the "check" utilities (especially ADAICK and ADAVAL) against the file, and contact your Software AG technical support representative. PER MESSAGES AND CODES MANUAL (NEW TO 7.4):

31 14. USE S/J OR DIRTY READ ZAP
MODULES: ADANC5/ADANC7/ADANC9/ADARUN PROBLEM: PERFORMANCE ZAP: WHEN NUCID=0 SKIP THE S/J TEST THAT USES THE VALUE IN THE COMPRESSED RECORD. INSTEAD SCAN THE THREADS FOR AN ACTIVE UPDATE FOR THE SAME FNR/ISN. KEYWORD: PERFORMANCE NON-CLUSTER SPECIAL

32 15. ADARUNS TO MINIMIZE “SHRINK THEM UNTIL THEY COMPLAIN” PARM
RESPONSE CODE USER OVERRIDE MAX SETTING NOTE TT 9 YES MXTT TRANSACTION TIME LIMIT TNAE MXTNA NON-ACTIVITY TIME LIMIT CT 254 NO INTER-REGION TIME LIMIT NISNHQ 47 MAX RECORDS ON HOLD NQCID 46 MAX CID'S PER USER

33 16. DO NOT USE FIXED COMPRESSION
FIXED FIELDS : SAVE ONE BYTE PER FIELD CANNOT CHANGE LENGTH LATER DOES NOT SAVE ON CPU

34 16. DO NOT USE FIXED COMPRESSION
KEY: NU FIXED DfLT Test runs

35 17. AVOID EXCESSIVE REORDERING
IN GENERAL: FILES WILL BEGIN TO REUSE SPACE DOES NOT IMPROVE OVERALL CPU/IO’S

36 18. PADDING AND UNUSED FILE SPACE
DO THIS SO I CAN SES SET ASSO/DATA PAD TO 1% LET USE CREATE FREE SPACE NEW THOUGHTS, NOT FINALIZED DO THIS SO I CAN SES REDUCE FILE FREE SPACE TAKE MANY FILE EXTENTS

37


Download ppt "Adabas Performance Topics"

Similar presentations


Ads by Google