sap tuning 실무 교육 2003.10. 2 목 차 1. sap architecture 의 이해 2. monitoring 3. tuning...
TRANSCRIPT
SAP Tuning 실무 교육
2003.10
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 의 이해
SAPGUI
SAPGUI
SAPGUI
TableBuffer
DIAWP
BTCWP
SPOWP
DispatherGateway
DB WP DB WP
SAPGUI
SAPGUI
TableBuffer
DIAWP
ENPWP
Dispather Gateway
DB WP ****
500 MB
10 GB – 500 + GB
120 MB
5 MB
****
EnqueueTable
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 server Database server
ABAPinterpreter
SELECT *FROM ...
EXEC SQL.SELECT ...END EXEC.
Database data
Native SQL
OPEN SQL
Data
DBinterface
Localbuffers
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
Click
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 P
age
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 P
age
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 P
age
SE30 – RunTime Analysis Evaluation : Overview
35
5. Run Time Analysis (CPU) – SE30
Net Time
Gross Time
Call HiearachyAbsolute<->%
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 Customer Index 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 IndexIndex 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 하기 때문에 추가 시간이 걸린다 .
A B
111 111
112 111
A B C
111 111 111
112 111 111
인덱스 A 와 인덱스 B 는 같다 . 인덱스 B 가 인덱스 A 보다 unique 하기 때문에 인덱스 A 는 필요치 않다 .
Index A Index B
40
6. Index & Histogram
Index A is UNION of index B.
Index AIndex 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 : 펼쳐진 ProgramList 를 접음
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