7._Response_Time_Analysis_방법론과_OWI
2012.04.01 10:07
- Response Time Analysis 성능관리 방법론
- 대기 이벤트를 기반으로 세션 또는 시스템 전체에 발생하는 병목 현상과 그 원인을 찾아 문제를 해결하는 방법(과정)
- 1999년 6월 Yet Another Performance Profiling Method(YAPP-Method) 오라클 기술백서 발표로 주목
Response Time = Service Time + wait Time = CPU time + Queue Time
- Service Time : 프로세스가 정상적으로 동작하며 일을 수행한 시간 (CPU time)
- Wait Time : 대기이벤트가 발생해 작업수행을 잠시 멈추고 대기한 시간 (Queue Time)
- OWI (Oracle Wait Interface)
- Response Time Analysis 방법론을 지원하려고 오라클이 제공하는 기능과 인터페이스를 통칭하는 말
- 성능분석 방법론
- 모든 성능 분석 방법론은 위의 과정을 반복 하면서 문제를 해결해 나간다.
- Response Time Analysis 방법론은 성능문제 진단 및 해결시 사용하는 방법이 wait event 기반 진단 및 해결 방법을 모색한다.
- 즉 문제 인식 시점에서의 top wait event 를 추출해 내고 추출된 wait event에 해당 하는 튜닝을 진행하여 문제를 해결하고 이러한 과정을 반복하여 시스템의 성능을 향상시키는 과정이다.
참고) 성능분석 방법론에 대한 비교 (Oracle 성능분석 방법론 참조)
| More Resource | Ratio-Base Analysis | Wait Event Analysis | Session Level Profiling Analysis | Oracle Response Time Analysis |
성능 문제의 정의 | 관리자의 느낌이나 사용자의 불평 발생 | Resource의 과다사용 | Wait 의 과다 발생 | 응답시간 중 대기 시간이 과다한 상항 | User Irritation이 75%이상 |
성능 분석의 도구 | 없음 | v$sesstat v$sysstat | v$system_event v$session-event v$session_wait | v$session v$session-event v$session_wait | v$system_event v$session_event v$session_wait CPU 개수 v$sesstat v$sysstat |
성능 문제의 인식 | 관리자의 느낌 사용자의 불평 | Script를 수행 (다소모호) | Top Wait Event | 세션별 wait time및 service time을 구함 | User Irritation을 구함 |
성능 문제의 진단 | 없음 | Script의 결과로 이상지점을 판단 이상지점에 지정된 원인이 준비되어 있음 | Top Wait Event를 병목지점으로 판단 해당 Wait Event로 원인 분석 | 대기를 많이 한 Wait Event 그룹으로 병목 판단 | Top wait 중심으로 산출한 Wait 그룹으로 병목을 판단하고 해당 Wait event로 원인 분석 |
성능 문제의 해결 | More Resource 및 제한적 SQL 튜닝 | Ratio 범위 안에서 동작하도록 해결책 정의 | 문제의 event에 맞게 SQL 튜닝 Parameter 튜닝등 | 병목 판단 wait event에 맞는 SQL 튜닝 | 문제의 Event에 맞게 SQL 튜닝 Parameter튜닝등 |
방법론 장점 |
| 절대량을 상대량으로 표시하여 비교 가능 | 병목 판단하기 좋음 | 튜닝 대상을 찾기에 좋음 | 하나의 수치로 성능을 평가 |
방법론 약점 |
| 정확한 원인의 파악이 어려움 | 진단의 오류 가능성 | 세션만을 대상으로 하므로 전체적인 성능 관리에 한계 | Top wait를 사용함으로써 진단의 오류 가능성이 상존 |
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
26 | 3._SQL트레이스 | sapius | 2012.04.03 | 37300 |
25 | 8._Statspack_AWR | 시와처 | 2012.04.01 | 11768 |
» |
7._Response_Time_Analysis_방법론과_OWI
![]() | 시와처 | 2012.04.01 | 5916 |
23 | 6._V$SYSTEM_EVENT | 시와처 | 2012.04.01 | 3507 |
22 | 4._동시성_구현_사례 [1] | dasini | 2012.03.26 | 11962 |
21 |
5._오라클_Lock
![]() | 시와처 | 2012.03.25 | 12875 |
20 | 3._비관적_vs._낙관적_동시성_제어 | dasini | 2012.03.25 | 6396 |
19 | 2._AutoTrace | 남송휘 | 2012.03.25 | 3138 |
18 | 1._Explain_Plan | 남송휘 | 2012.03.25 | 4543 |
17 | 3장._오라클_성능_관리 | 남송휘 | 2012.03.25 | 3117 |
16 |
2._트랜잭션_수준_읽기_일관성
![]() | AskZZang | 2012.03.20 | 6364 |
15 | 1._트랜잭션_동시성_제어 | AskZZang | 2012.03.19 | 4883 |
14 | 11._Shared_Pool | 박영창 | 2012.03.19 | 3395 |
13 | 10._대기_이벤트 | 박영창 | 2012.03.18 | 10624 |
12 | 9._Snapshot_too_old | 박영창 | 2012.03.18 | 9969 |
11 | 8._블록_클린아웃 | 시와처 | 2012.03.18 | 12305 |
10 |
7._Consistent_vs._Current_모드_읽기
![]() | 시와처 | 2012.03.18 | 5708 |
9 | 2장._트랜잭션과_Lock | AskZZang | 2012.03.16 | 5462 |
8 |
6._문장수준_읽기_일관성
![]() | 정찬호 | 2012.03.11 | 57563 |
7 |
4._Redo
![]() | 남송휘 | 2012.03.11 | 5606 |