網路傳輸時間和客戶端處理時間的界定(互動式應用)

sunsapollos發表於2013-10-28
     在確定了批處理業務的SQLNet Message from client表示網路傳輸和client處理之後,我們來看互動式應用的情況。互動式情況的問題在於並非像批處理一樣持續執行,總是納入執行時間,而是中間存在著大量的空閒時間,包括實際的空閒時間(沒有做任何業務)和由於技能的不同導致的key time和think time的不同。
     作為互動式應用,我們也需要平均數的統計來完成客戶端計數,幸運的是客戶端處理一般不會存在併發的情況(C/S)應用,一般來說客戶端的程式處理時間是一致的,主要區別在於空閒時間的不同。基本而言,我們可以通過v$event_histogram來衡量客戶端執行。
    比如以下快照執行:
   select * from (select e2.event,e2.wait_time_milli,e2.wait_count-e1.wait_count wait_count from mc$event_histogram e1,mc$event_histogram e2 where e2.id=1 and e1.id=0 and e2.event#=e1.event# and e2.wait_time_milli=e1.wait_time_milli)
where wait_count >0 and event ='SQL*Net message from client' order by wait_time_milli;
   執行結果:
          EVENT    WAIT_TIME_MILLI    WAIT_COUNT
1    SQL*Net message from client    1    6247
2    SQL*Net message from client    2    24
3    SQL*Net message from client    4    11
4    SQL*Net message from client    8    4
5    SQL*Net message from client    16    3
6    SQL*Net message from client    32    1
7    SQL*Net message from client    128    2879
8    SQL*Net message from client    256    8
9    SQL*Net message from client    512    1
10    SQL*Net message from client    2048    2
11    SQL*Net message from client    16384    31
12    SQL*Net message from client    32768    2
13    SQL*Net message from client    65536    17
14    SQL*Net message from client    131072    3

  基本而言,我們可以把64~128ms作為客戶端處理時間。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92650/viewspace-775241/,如需轉載,請註明出處,否則將追究法律責任。

相關文章