找到耗时长的页面,如果在http端或weblogic端启用了ECID(运行上下文ID),我们就可以直接从RUEI里面下钻到JVMD,进行下一步的诊断。我们这个案例里面,客户没有启用ECID,所以我们只能进行手动的“下钻“。
从RUEI中得到的最耗时的页面: XXXXXFrame.do,在JVMD中用此request,最为条件,作为JVM Thread 信息的过滤条件:
得到执行或这个request的thread的具体信息:
点击上图中绿色显示的等待,得到单一thread具体的分析信息,其中会有thread等待的SQL的信息:
在进一步点击SQL ID,就进入到数据库的SQL信息页面:
其实一旦找到SQL语句,对于DBA来讲,问题就简单了。篇幅有限,就不再贴图了。
这个案例重要的不是结果,而是过程,如果我们没有这样的工具,我们可能会面临几个问题:
无量化的客户体验诊断
无法区分各环节具体耗时(客户端、网络、服务器)
在服务器端的诊断效率很差
需要人工进行页面请求和SQL的关联,效率很低,甚至有时,没有开发商的帮助,是不可能完成的任务
现在,利用Oracle的这些工具,可以大幅提高诊断的准确率和效率,同时还能给客户看到量化的客户体验数据。