Upload
ngokhanh
View
229
Download
8
Embed Size (px)
Citation preview
오라클 기반 시스템의 Response Time 분석
Reviewed by Oracle Certified Master Korea Community
( http://www.ocmkorea.com http://cafe.daum.net/oraclemanager )
1. Introduction
1.1 Evolution of ORacle Performance Analysis
1.2 Holistic Performance Isolation Method(HPIM)
2. Define Response Time
2.1 Industry definition
Transaction : work의 단위
Queue : 서비스되기 위해서 대기중인 line, list를 말함
Queue Time : 대기 시간
Server : Transaction processor
Service Time : Transaction을 수행하는 시간
Response Time : queue time + service time
Response Time Tolerance : 사용자가 Response Time에 대한 만족 정도
2.2 Introduction to queuing thoery
2.3 Response time representation
R(t) = Q(t) + S(t)
Throughput Vs. Response Time
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
4.00
4.50
5.00
1.00
3.00
5.00
7.00
9.00
11.0
0
13.0
0
15.0
0
17.0
0
19.0
0
Throughput
Resp
onse
Tim
e
R Tolerance
Response Time
[그림 1] This iss the classic response time graph.
[그림 2] This graph shows response time information in its two basic components(service
time and queue time) captured 23 times. Keep in mind that performace may not necessarily
be bad during samples 8 thru 15.
2.4 Oracle response time measurement challenges
2.4.1 No clear response time definition
2.4.2 No native Oracle transaction maker
2.4.3 CPU timing challenges
2.4.4 Perspective affects definitions
Oracle system perspective
Oracle database perspective
Application user perspective
3. Mesasuring Oracle response time
3.1 Idle Time and Think Time
Response time은 system level 혹은 session(특정 session id 이용)에 대하여 파악할 수 있다.
0
500
1000
1500
2000
Res
pons
e Ti
me
(min
utes
)
1 3 5 7 9 11 13 15 17 19 21 23
Samples
Oracle System Response Time
Queue TimeService Time
Oracle performance view를 이용한 session level response time은 transaction 표시기가 없어
서 session의 시작 시간과 끝 시간 사이와 실제 transaction 시간 시간과 끝 시간간에는 차
이가 발생한다. 이러한 gap을 idle time이라고 할 수 있다.
Session/transaction level에서의 response time에는 user think time은 존재하지 않는다. User
think time은 transaction간에만 발생하는 것이고 transaction이 수행할동안은 발생하지 않기
때문이다.
System 관점에서, idle time과 user think time은 밀접한 관계를 갖는다. 사실 이 두 시간을
구별한 방법이 없다. 따라서 시스템 관점에서 response time을 봐라보았을때, idle time과
user think time은 idle time 분류로 넣을 수 있다.
3.2 Deffering Response Time Needs
3.2.1 Session Level
사람들이 response time을 떠올릴때 일반적으로 session level의 response time을 떠올린다.
Oracle은 transaction을 정의할 수 있으므로 session level의 response time을 측정하면 항상
idle time이 존재한다.
[그림 3] Session level의 response time과 그 구성 요소.
R(t) = Q(t) + S(t)
S(t) = CPU(t)
Q(t) = I/O(t) + non -I/O(t) + Idel(t)
R(t) = Response time
Q(t) = Queue time
S(t) = Service time
Server Side Happenings Time
CPU used by this sessionSQL*Net message from client … db file scattered readdb file sequential readlog file sync
Query Start Query End Start Clock Stop Clock
Recorded Response Time
Real Response Time
I/O(t) = I/O related queue time
Non-I/O(t) = Non-I/O related queue time
Idel(t) = Idle time
3.2.2 System level
전체적인 시스템의 response time을 알고싶을때 system level reponse time은 가치가 있다. 이
것은 시스템이 어디서 가장 시간을 많이 소요되는지, buttleneck이 어디인지를 판단할 수있
다.
Response time은 업무 transaction을 기본으로 하지만 Oracle은 업무 transaction을 표시할수
가 없으므로 system level에서 transaction level response time은 계산할 수가 없다. 그러나 시
스템 전체적으로 어디에서 시간이 소요되는지를 파악할 수있으므로 충분히 가지있는 일일
수 있다.
Idel time은 system level에서는 새로운 의미를 가질 수 있는데, system이 idle 상태에 있다면
idle time이 존재한다. 즉 이것은 무엇을 하고자하기 위하여 기다릴때 발생한다고 할 수 있
다.
E(t) = R(t) + Idle(t)
R(t) = Q(t) + S(t)
S(t) = CPU(t)
Q(t) = I/O(t) + non-I/O(t)
E(t) = Elapsed time
R(t) = Response time
Q(t) = Queue time
S(t) = Service time
I/O(t) = I/O(t) related queue time
Non-I/O(t) = Non-I/O related queue time
Idle(t) = Oracle system이 idle일때 발생
3.3 How to measure Oracle response time
3.3.1 Categorizing wait events
I/O Read : 오라클 프로세스가 I/O read 관련된 정보를 wait할때 걸리는 시간. 이
시간은 queue time이라고 할 수 있는데 이것은 오라클 프로세스가 O/S에게 I/O
read 관련된 요청한 정보를 얻기위하여 기다리기 때문이다. 예로 db file sequential
read
I/O Write : 오라클 프로세스가 I/O write가 완료될때까지 기다리는 wait 관련 시간.
db file parallel write/log file checkpoint not complete
Idle : 시스템이 더이상 프로세스를 진행할만한 capacity가 없을때 기다리는 시간.
Bogus : non-relevant wait events와 관련된 시간. 대부분의 event가 bogus에 속하며
이 event들은 계산과정에 포함되지 않음. 의미있는 시간은 bogus wait event로서 기
록되어지기 때문에 신중하게 고려해야 할 것임
Order : non-I/O, idle, bogus categories와 관련된 시간. queue time에 속함. latch
free/log file sync/buffer busy waits/enqueue waits
Event 명 Type
BFILE check if exists bogus
BFILE check if open bogus
BFILE closure bogus
BFILE get length bogus
BFILE get name object bogus
BFILE get path object bogus
BFILE internal seek bogus
BFILE open bogus
BFILE read bogus
Contacting SCN server or SCN lock master bogus
DFS db file lock bogus
Event 명 Type
DFS lock handle bogus
DLM generic wait event bogus
IO clients wait for LMON to join GMS group bogus
LMON wait for LMD to inherit communication channels bogus
Null event bogus
PX Deq Credit: free buffer bogus
PX Deq Credit: need buffer bogus
PX Deq Credit: send blkd bogus
PX Deq: Execute Reply bogus
PX Deq: Execution Msg bogus
PX Deq: Index Merge Close bogus
PX Deq: Index Merge Execute bogus
PX Deq: Index Merge Reply bogus
PX Deq: Join ACK bogus
PX Deq: Msg Fragment bogus
PX Deq: Par Recov Change Vector bogus
PX Deq: Par Recov Execute bogus
PX Deq: Par Recov Reply bogus
PX Deq: Parse Reply bogus
PX Deq: Signal ACK bogus
PX Deq: Table Q Close bogus
PX Deq: Table Q Get Keys bogus
PX Deq: Table Q Normal bogus
PX Deq: Table Q Sample bogus
PX Deq: Table Q qref bogus
PX Deq: Test for msg bogus
PX Deq: Txn Recovery Reply bogus
PX Deq: Txn Recovery Start bogus
PX Deque wait bogus
PX Idle Wait bogus
PX create server bogus
PX qref latch bogus
PX server shutdown bogus
PX signal server bogus
Event 명 Type
Replication Dequeue bogus
SQL*Net break/reset to client bogus
SQL*Net break/reset to dblink bogus
SQL*Net message to client bogus
SQL*Net message to dblink bogus
SQL*Net more data to client bogus
SQL*Net more data to dblink bogus
Wait for a paralle reco to abort bogus
Wait for stopper event to be increased bogus
add process group bogus
alter system set mts_dispatcher bogus
buffer busy due to global cache bogus
buffer deadlock bogus
buffer latch bogus
buffer read retry bogus
checkpoint completed bogus
conversion file read bogus
debugger command bogus
dispatcher shutdown bogus
dispatcher timer bogus
dupl. cluster key bogus
file identify bogus
file open bogus
free global transaction table entry bogus
free process state object bogus
global cache bg acks bogus
global cache cr request bogus
global cache freelist wait bogus
global cache lock busy bogus
global cache lock cleanup bogus
global cache lock null to s bogus
global cache lock null to x bogus
global cache lock open s bogus
global cache lock open x bogus
Event 명 Type
global cache lock s to x bogus
global cache multiple locks bogus
global cache pending ast bogus
imm op bogus
inactive session bogus
inactive transaction branch bogus
index block split bogus
instance recovery bogus
instance state change bogus
lock manager wait for dlmd to shutdown bogus
lock manager wait for remote message bogus
name-service call wait bogus
pending global transaction(s) bogus
pipe get bogus
pipe put bogus
pmon rdomain attach bogus
pmon timer bogus
process startup bogus
queue messages bogus
rdbms ipc message bogus
rdbms ipc message block bogus
rdbms ipc reply bogus
refresh controlfile command bogus
reliable message bogus
remove process group bogus
resmgr:wait in actses run bogus
resmgr:waiting in check bogus
resmgr:waiting in check2 bogus
resmgr:waiting in end wait bogus
resmgr:waiting in end wait2 bogus
resmgr:waiting in enter bogus
resmgr:waiting in enter2 bogus
resmgr:waiting in run (queued) bogus
resmgr:waiting in shutdown bogus
Event 명 Type
resmgr:waiting in system stop bogus
retry contact SCN lock master bogus
scginq AST call bogus
secondary event bogus
single-task message bogus
slave exit bogus
slave wait bogus
smon timer bogus
switch logfile command bogus
timer in sksawat bogus
trace continue bogus
trace unfreeze bogus
trace writer I/O bogus
trace writer flush bogus
transaction bogus
unbound tx bogus
unread message bogus
unread message bogus
virtual circuit status bogus
wait for DLM latch bogus
wait for DLM process allocation bogus
wait for DLM reconfiguration to complete bogus
wait for checking DLM domain bogus
wait for gms de-registration bogus
wait for gms registration bogus
wait for influx DLM latch bogus
wait for inquiry response bogus
wait for lmd and pmon to attach DLM bogus
wait for lock db to become frozen bogus
wait for lock db to unfreeze bogus
wait for ownership of group-owned lock bogus
wait for pmon to exit bogus
wait for reconfiguration to start bogus
wait for recovery domain attach bogus
Event 명 Type
wait for recovery domain latch in kjpr bogus
wait for recovery validate to complete bogus
wait for register recovery to complete bogus
wait for send buffers to send DLM message bogus
wait for tickets to send DLM message bogus
waiting to get CAS latch bogus
wakeup time manager bogus
writes stopped by instance recovery or database suspension bogus
SQL*Net message from client idle
SQL*Net message from dblink idle
SQL*Net more data from client idle
SQL*Net more data from dblink idle
control file sequential read ior
db file parallel read ior
db file scattered read ior
db file sequential read ior
direct path read ior
log file sequential read ior
LGWR wait for redo copy iow
control file parallel write iow
control file single write iow
db file parallel write iow
db file single write iow
direct path write iow
free buffer waits iow
io done iow
local write wait iow
log file parallel write iow
log file single write iow
log file switch (archiving needed) iow
log file switch (checkpoint incomplete) iow
log file switch (clearing log file) iow
log file switch completion iow
log file sync iow
Event 명 Type
log switch/archive iow
write complete waits iow
PL/SQL lock timer other
Wait for a undo record other
buffer being modified waits other
buffer busy waits other
enqueue other
latch activity other
latch free other
library cache load lock other
library cache lock other
library cache pin other
log buffer space other
row cache lock other
sort segment request other
undo segment extension other
undo segment recovery other
undo segment tx slot other
0
500
1000
1500
2000
Res
pons
e Ti
me
(min
utes
)
1 3 5 7 9 11 13 15 17 19 21 23
Samples
Oracle System Response Time
Queue TimeService Time
[그림 4] This graph shows the basic response time components; service time and response
time. Understand when response time increases, rither there is simply more system activity,
performance feels really bad, or both.
0200400600800
100012001400160018002000
Res
pons
e Ti
me
(min
utes
)
1 3 5 7 9 11 13 15 17 19 21 23
Sample Period
Oracle System Response Time
otwiowservice time
[그림 5] This graph details the basic Oracle queue time components. That is service time, I/O
queue time(iow) and, non-I/O or orther queue time or simply orther time waited(otw).
0%
20%
40%
60%
80%
100%
Res
pons
e Ti
me
(min
utes
)
1 3 5 7 9 11 13 15 17 19 21 23
Sample Period
Oracle System Response Time
otwiowservice time
[그림 6] This graph contains the exact same information as in the previous figure. What is
different is how the information is displayed. This presentation reduced the emphasis on
how bad performance might and highlights where we need concentrate our performance
tuning efforts.
db file scattered 10%
Read 30%
db file sequential 90%
Doing 10% Write 70%Idle 30%
I/O 70%
RT 70% Waiting 90% direct path write 10%Log File 30%
SyncOther 30%
db file par write 90%Latch 70%
[그림 7] This is an Oracle system level response time component drill down graphic. (The
numbers are not related to the orther graphs.) This is a good way to convey response time
issues and performace strategies to others.
3.3.2 Data Sources
Session wait event view(v$system_event, v$session_event, v$session_wait)에서는 queue
time(I/O read, I/O write, other) and idle time을 측정하고, system statistic view(v$sessstat,
v$sysstat)은 service time(cpu time)를 측정한다. System 관점에서의 idle time은 session wait
view의 sql*net message [from|to] [client|dblink]에서 얻어지며, Service time은
session/system statistic views에서 통계 이름이 CPU used by this session에서 얻는다.
3.4 Quantifying User Irritation
Response time이 어느 부분에서 가장 시간이 많이 소요되는지 정보를 줌으로서 그 자체로
의미가 있지만 이 시간이 사용자 불만족이 어느정도이다를 말할 수는 없다. 따라서 우리는
response time뿐만 아니라 사용자 불만족이라는 것이 같이 필요하다.
사용자는 response time때문에 짜증이 나며, response time은 알다시피 queue time과 service
time으로 구성되어 있다. 어떤 경우는 performace ratio가 CPU time에 집중될 수 있고 또 어
떤 경우는 queue time에 집중될 수도 있다. 즉 이 비율이 커진다면 성능상에 문제가 있다고
할 수 있다. 이것을 식으로 나타내면 아래와 같다.
Response Time Ratio = Maximum (cpu busy ratio, queue time ratio)
CPU Busy Ratio = Service Time/Available CPU Time
Queue Time Ratio = Queue Time/Response Time
CPU Busy Ratio와 Queu Time Ratio는 0 ~ 1 값 사이이다. 만약 거의 부하가 없다면 이 값은
1에 가까울 수 있다. 이 값들의 최대값이 성능의 문제를 나타낼 수가 있다.
많은 오라클 시스템으로부터 보면 경험적 수치로 보면 Response Time Ratio(RTR)이 50%를
넘으면 사용자는 불편해한다. 불행히도 OSM tool kit에서는 RTR값을 보여주고 있지는 않다.
다시 말해서 Response Time Ratio은 user irritant indicator라고 할 수 있다.
[그림 8] This figure details response time for a specific session for a specfic time frame. More
specifically, this script was started (time starts ticking), the user ran their thing, the script
was stopped (time stops ticking), and then this report was produced. This type of report is
absolutely essential to truly understand why a process is taking so long.
[그림 9] This figure details response time for the system as a whole since the Oracle instance
was last started. This is a good way to get a general feel regarding response time and how
the users are probably feeling about performance.
[
그림 10] This figure details response time for the system as a whole for the last 30 seconds as
opposed to since the instance was started. This is a good way to get a general feel regarding
response time and how the users are probably feeling about performance. The tool used
create this report is rtsysx.sql (OSM-I).
nov17p>@rtsd
Tot Wait Response Time Other % % Elapsed Idle Time(min) CPU (min) IO Wait Wait CPU Wait Time(min) Time(min) [rt= Time [tw= Time Time OSM RT/ET RT RT [rt+idle] [idle] cpu+tw] (min)[cpu] iow+ow] (min)[iow] (min)[ow] Key Date--------- ------ ------ --------- --------- --------- ---------- -------- ---------- --------- ---- ------------ 0.071 90.46 9.54 8,573 7,960 613 554 58 56 3 46 Nov 17 16:11 0.066 92.55 7.45 8,272 7,729 543 502 40 39 1 47 Nov 17 17:16 0.060 89.76 10.24 5,734 5,391 343 308 35 34 1 48 Nov 17 18:20 0.048 99.64 0.36 5,071 4,826 246 245 1 1 0 49 Nov 17 19:25 0.080 98.90 1.10 3,485 3,207 278 275 3 3 0 50 Nov 17 20:27 0.083 92.35 7.65 3,597 3,298 300 277 23 19 4 51 Nov 17 21:29 0.183 70.26 29.74 3,800 3,106 694 488 207 170 37 52 Nov 17 22:32 0.577 33.70 66.30 2,132 902 1,230 415 816 799 17 53 Nov 17 23:36 0.851 22.88 77.12 1,813 271 1,542 353 1,189 1,164 25 54 Nov 18 00:38 0.949 19.64 80.36 1,930 99 1,831 360 1,471 1,456 15 55 Nov 18 01:42 0.964 18.73 81.27 1,921 68 1,853 347 1,506 1,486 20 56 Nov 18 02:48 0.125 19.17 80.83 13,750 12,033 1,717 329 1,388 1,379 9 57 Nov 18 03:51 0.395 24.83 75.17 4,069 2,464 1,606 399 1,207 1,190 18 58 Nov 18 04:54 0.178 54.45 45.55 7,625 6,271 1,353 737 617 611 6 59 Nov 18 05:57 0.022 91.34 8.66 31,028 30,349 680 621 59 56 2 60 Nov 18 07:00 0.020 91.78 8.22 33,952 33,287 665 611 55 49 6 61 Nov 18 08:03 0.081 90.94 9.06 7,535 6,926 609 554 55 52 3 62 Nov 18 09:06 0.118 82.95 17.05 6,829 6,025 804 667 137 122 15 63 Nov 18 10:08 0.034 64.61 35.39 26,941 26,015 925 598 328 242 85 64 Nov 18 11:12 0.129 74.79 25.21 7,365 6,412 953 713 240 235 5 65 Nov 18 12:18 0.083 85.18 14.82 13,490 12,374 1,116 951 165 160 6 66 Nov 18 13:23 0.024 89.66 10.34 52,037 50,794 1,244 1,115 129 123 5 67 Nov 18 14:29 0.005 92.59 7.41 135,578 134,863 715 662 53 50 3 68 Nov 18 15:37
[그림 11] This report summarizes response time during (i.e., within) each of the data
gathering periods. This type of report is essential to fully understand the system’s response
time characteristics
4. Performing Oracle Response Time Analysis
4.1 How to measure response time
전통적으로 response time은 service time과 queue time의 합이라고 할 수 있으나, 오라클 시
스템에서는 idle time과 elapsed time의 측정치가 필요하다.
Idle time : timing error(session level only), user think time (system time level only),
network transport time(session/system level), presentation time(session/system), 사
용자가 실행한 시간과 실제 오라클이 실행한 시간과의 차이(session/system)
Service time : CPU time
Queue time : I/O 관련된 wait 혹은 non-I/O 관련된 waits(즉 enqueue, latch, buffer
busy 등). Idle time은 session level 분석에서는 queue time에 포함된다.
Response time : service time + queue time
Elapsed time : response time + idle time
OraPub에서 제공하는 System Monitor tool kit(OSM)에서 위의 값들을 측정할 수있는 스크립
트들을 제공하고 있다. 이 OSM tool kit에서는 대화식 (session/system) 측정과 주기를 갖고
측정하는 historical 방법을 모두 지원하고 있다. 또한 accumulated report(오라믈 시스템이
시작된 후 축적된 데이터로 부터 분석)와 delta report(특정 주기안에서의 정보)를 제공한다.
rtsum : Interactive system level response time summary report
rtio : Interactive system level I/O wait summary wait event details
rtow : Interactive system level non-I/O wait summary with wait event details
rtsys : . Simply runs rtsum, rtio, and rtow.
rtsess<session id> : Interactive session specific response time details.
rts[a,d] : Historical system level response time summary report
rtio[a,d] : Historical system level I/O wait summary report
rtoe[a,d] : Historical system level I/O wait event detail report
rtow[a,d] : Historical system level non-I/O wait summary report.
rtowe[a,d] : Historical system level non-I/O wait event detail report
timechk<interval> : >. Checks Oracle CPU time reporting
4.2 How to validate a bottleneck
Service Time/Response Time > 0.5 이거나 Queue Time/Response Time > 0.5 이면 bottlneck
이 존재한다고 할 수 있으며 Service Time/Response Time > 0.5이면 service time을 중점적으
로 봐야하며, Queue Time/Response Time > 0.5 이면 queue time을 중점적으로 봐야 한다.
4.3 How to quantity user irritation
Response Time Ratio = Maximum (cpu busy ratio, queue time ratio)
4.4 How to focus performace tuning efforts
만약 Service Time/Response Time > 0.5 이라면 SQL 튜닝, CPU 파워 증가 등에 대한 service
time에 중점을 둬야 하며, Queue Time/Response Time > 0.5 이라면 queue time에 중점을 둬
야 하는데 대부분의 경우가 SQL 튜닝으로 해결하지만 기타 다른 방법(increase I/O capacity,
reducing I/O requirements, user bind variables 등)의 issue가 발생할 수있다.
5. Case studies
5.1 Interactive Session Level Perspective
OSM tool의 rtsession.sql <sid>를 이용하면 아래와 같은 레포트가 display된다.
위의 결과로 부터 queue time to response time ratio가 93.12%이므로 queue time에 문제가 있
다고 볼수있다. Queue time의 대부분이 I/O wait에 집중되어 있고 I/O wait 중 db file
scattered read에 많은 wait가 발생됨을 알수있다. 즉 SQL 구문에서 full table scan이 발생되
므로 SQL 구문의 튜닝을 통하여 이 문제를 해결해야 한다.
5.2 Interacive System Perspective #1
OSM tool에서 rtsys.sql을 이용하면 Oracle Instance가 startup된 이후의 정보를 아래와 같이
display 해준다.
위에서 부터 service time to response time ratio가 6.97%, queue time to response time이
93.03%임을 알 수있으며, queue time에 초점을 맞추어야 함을 알 수있다. Queue time은 대부
분 non-I/O 쪽이며 Non IO(orther) Wait Event에 보면 buffer busy wait에 몰려있음을 알 수
있다. Buttleneck를 자세히 분석하기위하여 인스턴스가 startup된 이후의 값이 아니라 최근의
response time의 activity를 연구할 필요가 있다.
5.3 Interactive System Perspective #2
OSM tool에 rtsysx.sql을 통하여 최근(60초)의 response time의 활동을 display해 볼 수있다.
그 결과는 아래와 같다.
위의 결과로 부터 역시 buttlenect이 buffer busy wait과 관련있음을 알 수 있다.
5.4 Historical System Perspective
OSM tool kit 중 rtsd.sql을 이용하면아래와 같이 display한다.
nov17p>@rtsd
Tot Wait Response Time Other % % Elapsed Idle Time(min) CPU (min) IO Wait Wait CPU Wait Time(min) Time(min) [rt= Time [tw= Time Time OSM RT/ET RT RT [rt+idle] [idle] cpu+tw] (min)[cpu] iow+ow] (min)[iow] (min)[ow] Key Date--------- ------ ------ --------- --------- --------- ---------- -------- ---------- --------- ---- ------------ 0.071 90.46 9.54 8,573 7,960 613 554 58 56 3 46 Nov 17 16:11 0.066 92.55 7.45 8,272 7,729 543 502 40 39 1 47 Nov 17 17:16 0.060 89.76 10.24 5,734 5,391 343 308 35 34 1 48 Nov 17 18:20 0.048 99.64 0.36 5,071 4,826 246 245 1 1 0 49 Nov 17 19:25 0.080 98.90 1.10 3,485 3,207 278 275 3 3 0 50 Nov 17 20:27 0.083 92.35 7.65 3,597 3,298 300 277 23 19 4 51 Nov 17 21:29 0.183 70.26 29.74 3,800 3,106 694 488 207 170 37 52 Nov 17 22:32 0.577 33.70 66.30 2,132 902 1,230 415 816 799 17 53 Nov 17 23:36 0.851 22.88 77.12 1,813 271 1,542 353 1,189 1,164 25 54 Nov 18 00:38 0.949 19.64 80.36 1,930 99 1,831 360 1,471 1,456 15 55 Nov 18 01:42 0.964 18.73 81.27 1,921 68 1,853 347 1,506 1,486 20 56 Nov 18 02:48 0.125 19.17 80.83 13,750 12,033 1,717 329 1,388 1,379 9 57 Nov 18 03:51 0.395 24.83 75.17 4,069 2,464 1,606 399 1,207 1,190 18 58 Nov 18 04:54 0.178 54.45 45.55 7,625 6,271 1,353 737 617 611 6 59 Nov 18 05:57 0.022 91.34 8.66 31,028 30,349 680 621 59 56 2 60 Nov 18 07:00 0.020 91.78 8.22 33,952 33,287 665 611 55 49 6 61 Nov 18 08:03 0.081 90.94 9.06 7,535 6,926 609 554 55 52 3 62 Nov 18 09:06 0.118 82.95 17.05 6,829 6,025 804 667 137 122 15 63 Nov 18 10:08 0.034 64.61 35.39 26,941 26,015 925 598 328 242 85 64 Nov 18 11:12 0.129 74.79 25.21 7,365 6,412 953 713 240 235 5 65 Nov 18 12:18 0.083 85.18 14.82 13,490 12,374 1,116 951 165 160 6 66 Nov 18 13:23 0.024 89.66 10.34 52,037 50,794 1,244 1,115 129 123 5 67 Nov 18 14:29 0.005 92.59 7.41 135,578 134,863 715 662 53 50 3 68 Nov 18 15:37
OSM key가 56 ~ 57인 점심시간 즈음에서 가장 사용자가 불만족스러움 상태이며 이 것은 사
용자로부터 맞는지 틀린지에 대한 체크를 해봐야 한다. 55 ~ 56에서 보면 대부분이 I/O wait
관련 시간이므로 I/O 분석에 초점을 두어야 한다.