美创科技技术社区

注册

 

发新话题 回复该主题

网络传输时间和客户端处理时间的界定(交互式应用) [复制链接]

1#

     在确定了批处理业务的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作为客户端处理时间。

分享 转发
TOP
发新话题 回复该主题