오라클은 어떤 작업을 수행하는 과정에서 해당 프로세스가 원하는 리소스를 획득하지 못하는 경우, 리소스에 대한 점유가 해제될 때까지 리소스와 관련된 이벤트를 대기한다.
프로세스가 겪는 대기현상을 기록하고 관찰하는 일련의 기능과 인터페이스, 그리고 방법론을 통칭하여 OWI(Oracle Wait Interface)라고 부른다.
OWI는 계속 진화하고 있으며 버전이 지날수록 세분화된 이벤트를 제공하고 있다.
보다 활용도가 높아지고 있다는 반증이다.
버전 | EVENT 수 |
7.0.1 | 104 |
8.0 | 140 |
9i | 402 |
10g | 889 |
11g | 1118 |
오라클은 대기회수(Waits), 타임아웃(Time-outs), 대기시간(Total Wait Time)이라는 세 가지 값을 이용해 대기현상을 표현함.
Avg
%Time Total Wait wait Waits
Event Waits -outs Time (s) (ms) /txn
---------------------------- -------------- ------ ----------- ------- ---------
gc buffer busy 4,839 1.4 68 14 0.9
gc current block busy 1,271 .0 38 30 0.2
사용자 관점에서 가장 의미 있는 것은 대기시간이다.
특정 프로세스가 어던 작업을 수행하는 과정에서 실제로 작업한 시간(Service Time/Cpu Time)이 100초이고, 작업을 수행한 동안 이벤트를 대기한 시간이 50초라면 사용자가 체감한 응답시간은 100+50=150초가 된다.
즉 Response Time = Service Time + Wait Time
Latch같은 경우 래치획득 시도회수가 매우 빈번하기 때문에 대기회수로 경합여부를 판단하는 것은 의미가 없다.