您的位置: 性能诊断方案
性能诊断方案
作者:上海浦东软件平台有限公司 时间:2015-3-4 来源: 

HP Diagnostics性能诊断方案 

HP Diagnostics可以从客户端开始跟踪J2EE、.Net或ERP/CRM等类型应用的业务流程。并将每个交易响应时间细化成在各个层面、以及调用的每个单独组件上所花费的时间。如:某交易涉及到对J2EE应用调用时,Diagnostics可以深入了解到交易调用的每一层J2EE组件,看到各个Servlet,JSP,EJB的使用情况。另,Diagnostics还可以从一个基于Web的主控台上对该J2EE环境进行全方位的24x7的监控,如:该VM使用情况,VM内部所有的method、SQL调用情况,VM是否存在内存泄漏、线程死锁等。

Diagnostics以直观和易用为出发点而设计,甚至适用于那些对J2EE、.Net或ERP/CRM系统本质不甚了解的工程师。它对J2EE、.Net和ERP/CRM的组件性能以一种直观的、图形化的方式加以展现,并由该图表的指引,从一个缓慢的交易行为开始,深入挖掘到具体的缓慢层面,直至相关的SQL指令,从而最终发现问题的根源。

如:当Diagnostics与LoadRunner结合在一起使用时,我们知道,LoadRunner性能测试结果可以得到每一笔交易的响应时间曲线,在此基础上,借助Diagnostics 模块,可以对每一笔交易进行分解或向下层层钻取,从而得到此交易由哪些服务请求构成的,以及每个服务请求的方法调用链(Call Tree),调用链中给出了每个方法的时间消耗及所占比例。根据对调用链的分析,可以看出交易响应时间的具体构成,从而找到造成性能瓶颈的方法。

Diagnostics的组成:

Probe

专门负责从各类应用端收集交易的相关数据。并会将这些交易相关数据发送给Diagnostics Server的Mediator。每个Probe自带基于Web界面的Profiler UI,方便用户对该特定Probe收集来的VM以及交易性能数据进行分析。

Mediator

负责从各Probe交易相关的事件信息收集过来,然后对其进行管理、过滤、聚合等多种操作,然后将这些信息再上传给Diagnostics Server的Commander

Commander

负责从各Mediator收集数据。同时,通过自带的Web界面(DiagnosticsUI)对收集过来的数据进行展现,以及具体分析的相关操作。

Diagnostics的适用范围

* For a Java environment

* For a .NET environment

* For Oracle, SAP, SQL Server and MQ environments

Diagnostics的功能特点

1.查看JVM的内存及负载

Diagnostics可以为VM提供内存使用和负载的监控信息,通过内存使用量及HeapDump功能,可以及时发现内存泄漏。

2. 热点问题分析
     从Diagnostics的热点问题分析(Hotspots)可以看出,当前VM上,什么方法调用最慢,什么SQL语句最耗时、以及抛出最多的异常等信息。

3. 请求处理链

图中列出了AssertDetailBB.queryAssertDetail()方法的调用链及时间消耗,通过Call Tree可以看出,OralcePreparedStatement.executeQuery()消耗了大量时间,它执行了一个SQL语句,可以对这个SQL语句进行优化,以减小处理时间。

4. 服务请求

服务请求用于跟踪交易请求在VM上的执行情况。

5. Exception分析

Diagnostics 的Profiler可以精确地捕获这些异常发生的次数的地点。

6.方法调用分析

对于业务系统产生的每一个方法调用,它的调用次数、响应时间、以及抛出的异常情况等可以从Diagnostics的“方法调用”模块中得到。可以根据每个方法的响应时间(Avg times)以及调用次数(Count)来排序,发现时间消耗长的方法调用。

7.SQL语句分析

图中显示的第一条SQL语句调用次数最多,响应时间也最长,可以结合Quest的相关软件进行分析及优化。

8.系统性能指标.

Diagnostics可以收集System(CPU、内存、IO...)、JVM(Heap)以及J2EE应用服务器(Queue、Thread、JMS、JTA、Servlets...)的指标,并作出曲线。

9. 专项监控

除了通用监控功能以外,Diagnostics还可以为WebService、SAP、Oracle、WebLogic、WebSphere、CICS、Portal提供专项监控功能。