SAP Tuning 실무 교육
2 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
3 1. SAP Architecture 의 이해 SAP GUI Table Buffer DIA WP BTC WP SPO WP Dispather Gateway DB WP SAP GUI Table Buffer DIA WP ENP WP Dispather Gateway DB WP **** 500 MB 10 GB – GB 120 MB 5 MB **** Enqueue Table 32 KB 2 KB 1 ms 10 ms 0.1 ms Frontend- App Presentation Application Database Process 의 흐름 DISK Memory
4 1. SAP Architecture 의 이해 (2) Native SQL Database data Application serverDatabase server ABAP interpreter SELECT * FROM... EXEC SQL. SELECT... END EXEC. Database data Native SQL OPEN SQL Data DB interface Local buffers Data Database Database Interface
5 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
6 2. Monitoring - SM66 Process ID 로 ST04 에서 Query 분석시 사용 접속 App. Server SM66 : System wide work process overview
7 2. Monitoring - SM51 vs SM50 Dbl Click Dbl Clic k SM51 vs SM50
8 2. Monitoring - ST04 Database Performance Anal. SM66 에서의 Process ID Next Page ST04 Database Performance Analysis : Oracle
9 2. Monitoring – Database Performance Anal. Next Page 수행중인 SQL 데이터베이스 성능 : 활성세션
10 2. Monitoring – Database Performance Anal. Execution Plan Display Execution Plan for SQL Statement
11 2. Monitoring – STAT Next Page STAT : Local Transaction Statistics
12 2. Monitoring – STAT 총 수행시간 App. Server 에서만 수행된시간 (DB Time 제외 ) 전체 수행시간 중 DB 에 관련하여 수행된 시간 Next Page STAT – Workload : Display Statistical Records
13 2. Monitoring – STAT STAT – Workload : Display Statistical Records
14 2. Monitoring – ST03 Next Page ST03 – Workload : Analysis of SAP System (System 명 )
15 2. Monitoring – ST03 Next Page ST03 – Performance : Workload overview for Server TOTAL
16 2. Monitoring – ST03 ST03 – Workload : Transaction Profile Report
17 2. Monitoring – ST03 ST03 – Workload : Transaction Profile Report
18 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
19 3. SAP Tuning 방법의 결정 (DB or ABAP) Monitoring - SM66 - ST04 - STAT - ST03 What is a bottleneck ? DB or App. CPU ? DB 관련 Tuning 작업 수행 - ST04,ST05 에서 SQL 분석 - Index 생성 / 변경 / 삭제 - Nested Loop Join 등 … ABAP Tuning 수행 - SE30 : Run time analysis - Binary search… - Logic 수정 … DB App.CPU SAP Application Tuning
20 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
21 4. Performance Trace (DB) – ST05 Next Page ST05 – Trace Requests
22 4. Performance Trace (DB) – ST05 Next Page Duration Operation Explain ABAP Display Double Click 시 실제 DBMS 에 전송된 SQL 조회 가능 Table or View name ST05 – Basic SQL List – Sorted by PID
23 4. Performance Trace (DB) – ST05 Array Record counts Next Page ST05 – Extended SQL List – Sorted by PID
24 4. Performance Trace (DB) – ST05 Next Page ST05 – SQL Trace : Select Data for Compression
25 4. Performance Trace (DB) – ST05 ST05 – SQL Trace : Display Compressed Data
26 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
27 5. Run Time Analysis (CPU) – SE30 분석 결과 파일의 Short Desc. In parallel session: 현 App. Server 에서 수행중인 Job 에 대한 분석 In Current session: 특정 PGM, T-Code, Func. 에 대한 분석 Restriction : 분석에 대한 Option 지정 Performance file : 분석 결과 파일 및 해당 파일에 대한 분석 수행 Next Page SE30 – ABAP Runtime Analysis : Initial Screen
28 5. Run Time Analysis (CPU) – SE30 SE30 – Restrictions 에 Variant Setting 기존 Variant option 변경시 사용 Next Page
29 5. Run Time Analysis (CPU) – SE30 SE30 – Change Measurement Restriction Variant
30 5. Run Time Analysis (CPU) – SE30 SE30 – Change Measurement Restriction Variant
31 5. Run Time Analysis (CPU) – SE30 분석 File 의 크기 및 분석 최대 시간 지정 Aggregation : 분석 Type 지정 SE30 – Change Measurement Restriction Variant
32 5. Run Time Analysis (CPU) – SE30 Transaction, Program, Function module 명을 입력한 후 직접 실행하여 분석시 사용 현재 Login 되어 있는 App. Server 내에서 수행되고 있는 Job 의 실시간 분석 1. Start measurement : 분석을 수행하고자 하는 Job 에 해당하는 Line 에 Cussor 위치 2. End measurement SE30 – Measuring the Data
33 5. Run Time Analysis (CPU) – SE30 Log File 삭제 이전 Log file 분석시 사용 Log File 정보 Next Page SE30 – Analysing the Data
34 5. Run Time Analysis (CPU) – SE30 Group(Interanl Table, DB Table, Method…) 별 세부 HIT List 가 조회 금번 분석시 App. Server 의 CPU 에서 수행된 시간과 DB 작업을 수행한 시간 을 비교 할 수 있음 HIT List Next Page SE30 – RunTime Analysis Evaluation : Overview
35 5. Run Time Analysis (CPU) – SE30 Net Time Gross Time Call Hiearachy Absolute % Call 되어지는 Part or Statement Display Source Code Call Hiearachy SE30 – RunTime Analysis Evaluation : Hit List
36 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
37 6. Index & Histogram INDEX? 빠른 참조를 제공하는 키. 책, 잡지, 사전 등의 인덱스와 같은 이치이다. 항상 순차적으로 Sort 된다. 인덱스는 Report Program 에서 유용하다. 삽입, 갱신, 삭제 시 인덱스는 시스템이 자동 Re - Sort 된다. Cust Code Country A India B Malaysia C India D India.. Z Malaysia Cust Code Country A India B India C India D Malaysia Z Malaysia.. F Zambia Table CustomerIndex Z01 (Country)
38 6. Index & Histogram [1] Customer Code between ‘A’ & ‘D’- Use Index Index Pointer Ranged is defined. [2] Customer Code = ‘NL035’- Use Index Pointer directly to one record. [3] Customer Code <> ‘NL035’- Does not use Index Pointer is confuses which to point. Full table scan – sequential read. [4] Customer Code in Cust- Use Index BUT…/ Pointer Range is null if the fields is not filled in. Index will be ignored. Full table scan take place. [5] Customer Code LIKE ‘%A’- Does not use Index Index could not recognize ‘%’. [6] Customer Code LIKE ‘A%’- Use Index Index pointer will be started at ‘A’ and ended at ‘AZZZ’.
39 6. Index & Histogram 1. 인덱스를 생성 할 때 항상 histogram logic 사용을 고려해 본다. 2. 인덱스는 reporting program 에 유용하다. 3. 가장 unique 한 fields 를 포함 하는 것이 좋다. (example: Client No, Company Code, Plant code, Purchasing Group, Shipping Group and etc.) 4. 인덱스를 삽입, 삭제, 변형 할 때 시스템의 모든 인덱스를 re-sorting 하기 때문에 추가 시간이 걸린다. AB ABC 인덱스 A 와 인덱스 B 는 같다. 인덱스 B 가 인덱스 A 보다 unique 하기 때문에 인덱스 A 는 필요치 않다. Index AIndex B
40 6. Index & Histogram Index A is UNION of index B. Index A Index B Apply Index B: BEST Where A = ‘ XXX ’ and B = ‘ XXX ’ and C = ‘ XXX ’. GOOD Where A = ‘ XXX ’ and B = ‘ XXX ’. AVERAGE Where A = ‘ XXX ’. BAD Where A = ‘XXX ’ and C = ‘ XXX ’. WORST Where B = ‘ XXX ’ and C = ‘ XXX ’.
41 6. Index & Histogram Database Performance: Tables and Indexes using transaction DB02 Detailed analysis button ( 세부분석 )
42 6. Index & Histogram Type the Table name in the Object name and press Confirm button. Click on Table Columns, then system shows the histogram
43 6. Index & Histogram – Table Index 정보조회 ABAP Data Dictionary 와 실제 DB 의 상태를 점검하면서 Display ABAP Data Dictionary 와 실제 DB 에 Index 가 동일한지 여부 표시 Table 에 생성되어 있는 Index SE11 – Display Table
44 6. Index & Histogram – Table 에 연관된 SQL 조회 Where Used List - Table 에 연관된 각종 Object 의 정보 조회 Table 에 연결된 프로그램 조회시 : 연관된 SQL 조회 가능 Table 에 연결된 View 조회시 사용 Next Page SE11 – Display Table
45 6. Index & Histogram – Table 에 연관된 SQL 조회 Detail View Lines : 선택한 Program 항목에서 Table 과 관련 된 부분을 Display Collapse : 펼쳐진 Program List 를 접음 SQL 문장 SE11 – Database table Table 명 in Programs (** hits)
46 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU) 6. Index & Histogram 7. Tuning Tips 8. Q & A
47 8. Q & A ?