OWI
Oracle Wait Interface
기다리는 이유를 찾아 해결하는 것
프로세스가 겪는 대기현상을 기록하고 관찰
대기현상 표현 방법
대기횟수, 타임아웃횟수, 대기시간을 이용해 대기현상을 표현
eg) 프로세스는 특정시간동안 XXXX이벤트를 총 n번 대기하고, 그중 n번의 타임아웃이 발생했으며, 총 대기시간은 n초였다.
이중에서 가장 의미가 있는것은 대기시간
--> 래치의 경우 시도횟수가 매우 빈번하기 때문에 대기횟수로 판단하는것은 의미가 없음
사용자가 실제로 체감하는 응답시간 = Response Time
특정 프로세스의 실제 작업 시간 = Service Time
작업 수행중 이벤트를 대기한 시간 = Wait Time
Response Time = Service Time + Wait Time
Service Time 이나 Wait Time, 둘 중 하나만 빨라져도 Response Time도 빨라짐 (빨라짐 = 낮아짐)
어떤 문제들은 Service Time을 낮추면 자연스럽게 Wait Time도 낮아지기도 한다.
또한 어떤 문제들은 Wait Time을 낮추는 것만이 유일한 방법인 경우도 있음.
OWI Dynamic View
대기이벤트들을 워디로 봐야하는가?
1) V$SYSTEM_EVENT
DB START UP 된 후 현재시점까지 모든 세션에서 발생한 대기이벤트의 누적 정보
인스턴스의 안정도 판단 가능 + 서버 전체 부하 측정할 때 많이 사용
2) V$SESSION_EVENT
현재 접속되어 있는 각 개별 세션별 대기이벤트의 누적 정보
즉, 사용자별로 조회 가능
세션별로 전반적인 안정도 판단 가능
3) V$SESSION_WAIT
각 세션이 현재 대기하고 있는 이벤트에 대한 상세 정보
실제 작업하고 있는 것들은 보이지 않고 (-> 이거는 V$SESSION_EVENT를 조회)
기다리고 있는 것들만 보여준다
누적정보가 아니기 때문에 현재 시점의 상황만 조회 가능 = 실시간
'TUNING' 카테고리의 다른 글
Latch와 Lock (0) | 2013.03.27 |
---|---|
INSTANCE 튜닝 - Data Buffer Cache (0) | 2013.03.19 |
Optimizer (0) | 2013.03.14 |
SQL AutoTrace & SQL Trace (0) | 2013.03.12 |
SQL 처리 구조 (0) | 2013.03.11 |