Quest PerformaSure分布式J2EE应用性能诊断

 

     现在基于J2EE的系统使很多关键的IT和面向客户的业务系统变得很强大。虽然J2EE体系架构便于抽象,但是也存在着很大的复杂性。当应用在生产中或达到一定阶段,这些复杂性会导致不可预知的性能问题。J2EE技术栈的复杂性使得很难跟踪到性能问题的根源,他们可能存在于应用代码,数据库,应用服务器和集群的配置文件,操作系统,硬件或者这些组件之间的交互中。所以尽可能快地解决这些性能问题对于应用来说是极其重要的。

     有了PerformaSuer,企业就能够快速地诊断这些J2EE性能问题并且确定它们的根源。PerformaSure是一个用于分布式J2EE应用的,强大的诊断工具,它是以事务为中心的。PerformaSure使公司能够诊断并解决横跨应用服务器,数据库和J2EE应用代码的性能问题。

     这篇文章提供了PerformaSure的背景信息,介绍了它的能力,总的体系结构和用户使用界面。这篇文章也演示了怎么使用PerformaSure诊断一些性能问题。如果你有PerformaSure的演示版,能够直接使用产品运行这个演示例子。

 

PerformaSure概览

     PerformaSure     是一个低负载的性能诊断工具,用于运行在压力测试或生产环境中的多层J2EE应用,它提供以事务为中心的性能视图。应用管理员,开发者,系统架构师,数据库管理员和QA人员使用PerformaSure测量,分析,并且最大化完整事务的性能和减小对基础设施的消耗。

     PerformaSure特有的Tag and Follow技术和强大的诊断图形用户界面提供了一个统一的,来回事务性能的图形视图。PerformaSure跟踪通过J2EE系统的事务,重构了事务的执行路径。PerformaSure以一种具有宽度和深度的可视化方式显示J2EE性能数据栈。PerformaSure的显示的重点是最终用户的反应时间和方法级的时间。

 

关键特征

运行在生产中或上线前的测试系统上

    用于自动采样的agent是超低负载的,这使得PerformaSure能够运行在生产系统中,也可以在测试环境中。当发现存在的性能问题时,操作员能够在运行系统上收集高层性能数据,只是产生最低程度的负载(很少大概5-10%)。

Detail Dial的组件级测量

    在最初的测量中,有一个高层的组件性能视图可以使测量更容易些。在收集的数据层上收集的数据越多引起的相关负载越大,收集的越少引起的相关负载则越小,所以在收集数据的时候需要使用Detail Dial配置好收集数据的粒度,使应用管理员能够快速地识别有瓶颈的组件,让职能专家对它进行更深入的分析。

Tree View的事务跟踪

    PerformaSure特有的Tag and Follow提供了一个以事务为中心的性能数据视图。Tag and Follow重构单独用户事务端到端的执行路径。Tree View中以各种颜色显示了所有的物理数据库,逻辑软件组件和方法,人们可以立刻识别出有瓶颈的组件。

强大的诊断图形用户界面

    PerformaSure Workstation用于加快导航和诊断复杂的J2EE应用。直观的"Zonar"时间导航功能使导航更方便,允许用户快速地快进,回放或缩放到有问题的时间段。集成的Metrics Viewer提供与最终用户反应时间相关的度量值,这些度量值是一些横跨所有层的系统,App Server和OS度量值。

每服务器反应时间分布

    PerformaSure提供一些客观的数据,这些数据是关于最慢的最终用户事务,和引起这些不可接受的反应时间的服务器。通过测量数据库的操作,显示了花费在每个JDBC调用上的时间。

报告并导出性能数据

    产生以PDF,XML或CSV格式的详细性能分析报告,给管理和团队成员显示可能的J2EE性能问题根源。比较一段时间内的度量值和给出性能度量值的趋势。

 

为什么选择PerformaSure?

 

PerformaSure提出J2EE挑战

    PerformaSure帮助IT,开发和QA小组在生产或测试环境中尽可能快地解决性能问题。

缩短开发时间和重复利用基础设施

    开发时间通常是非常紧迫的,并且用于购买硬件和软件的资金比较少。客户的业务往往需要应用系统尽早投入生产。高层管理人员要求IT小组更加充分利用现有系统。开始的时候基础设施成本很高,主要体现在硬件,数据库和应用服务器的许可证。

    PerformaSure完美地解决了这个问题。企业能够简单的把PerformaSure集成到迭代测试,阶段测试和试用版这一整个生命周期中,也可以使用它在生产中快速诊断未知的问题。PerformaSure减少了需要购买用于解决这些问题的硬件和软件成本。

基础设施不断增加的复杂性

    随着应用服务器提供的服务越来越多,应用也变得越来越复杂,结果导致了需要大量的应用服务器资源,并且对这些资源的设置也需要正确的配置和调整。由于系统分布的更加广泛,还需要考虑更多因素:网络效率,集群设置,第三方系统和组件(可能是远程的)间交互。最重要的是所有这些系统对于每个用户要保证处于最佳运行状态。

    有了PerformaSure,项目成员不但能够标记跟踪整个系统和后台的事务,也能看到应用是怎么跟系统中的所有组件交互。PerformaSure用于从最终用户事务角度出发,对整个系统进行快速和精确的分析。

猜测与相互指责

    确定从哪里开始解决性能低下的问题可能拖延工程时间。因为当断定问题出现在什么地方,应该由谁来解决时,底层J2EE系统的固有复杂性使得IT小组内容易相互指责。通常,IT团队的成员各有各的工具,系统管理员有操作系统监视器,开发者有剖析和调试工具,数据库管理员有数据库分析工具,网络管理员有网络嗅探器等等。但使用这些工具,很难在单独系统中解决这些性能问题,因为这些工具不能很好的协调工作。结果很快地导致了相互指责。

    IT小组需要一个专门为 J2EE设计的诊断解决方案,缩短在黑盒负载测试产品和可详细定位的产品(如代码剖析工具和网络监测器)之间的距离,因为黑盒负载测试没有提供具体应用性能的时间信息。他们需要一个解决方案,使得用户能够快速地识别有问题的J2EE组件(服务器,集群,数据库,网络),特别是从最终用户事务反应时间的角度出发识别这些组件。IT小组为了清楚地确定由谁负责解决这个问题,必须能够识别哪层,哪个服务器和哪个组件引起这个性能问题。换句话说他们需要的是像PerformaSure这样的工具。

 

PerformaSure用于解决J2EE问题

    开发者编写和测试应用代码所在的环境跟应用最终要部署的环境有很大的不同,它没有那么复杂的因素,这些复杂的因素来自与实际的数据库,网络,集群,还有这些组件和别的开发团队已经开发的应用组件之间的交互。当在生产前期组装这些组件甚至在生产中部署时,这些复杂的因素能导致严重的和不可预知的性能问题。在分布式系统的满用户负载下,IT团队发现算法问题,数据库交互和网络效率问题是他们首先需要解决的一部分问题。大多数的诊断解决方案要么产生高负载(如profilers),要么提供解决问题的细节数据太少(如load testers)。

    PerformaSure用于解决J2EE各个阶段上的问题,在阶段测试和生产阶段都可以。在每个阶段,PerformaSure能够捕获系统在压力测试下工作的性能数据。它特有的标签跟踪(Tag and Follow)技术和易于理解的强大的诊断用户图形界面提供了大量的度量值数据,使得IT团队成员能够快速地和确切地跟踪到引起瓶颈的根源。PerformaSure帮助性能分析师识别单服务器或集群,分布式系统中的以下问题:

  • 效率低的Servlets,JSPs,EJBs,Java类和方法
  • 执行时间慢的SQL语句
  • 效率低的EJB/DB交互
  • 应用服务器配置和部署设置
  • 远程方法调用(RMI)和对象序列化问题
  • 操作系统参数和设置
  • 硬件组件的限制
  • 性能差的第三方组件
  • JVM堆使用和配置问题
  • 负载平衡问题
  • 集群配置和性能问题
  • 过多的网络负载

     

    PerformaSure提供整个J2EE应用的可视性

        在诊断J2EE性能的问题中,最大的问题是确定哪些组件或组件间的哪些交互是瓶颈的原因。大部分工具没有提供具体应用的细节信息。有比较少的工具提供了J2EE应用所有组件的可视性,包括跟应用基础设施配置和JDBC/数据库交互相关的问题。性能和可测量性的实际限制是什么?事务花费的时间在哪了?哪个组件误用了数据库或者网络?为什么误用?应用服务器或者操作系统配置怎样影响性能?

        有了PerformaSure,性能团队可以看到整个分布式应用和分布式J2EE系统的所有组件的交互,包括Java组件(EJBs,Servlet,JSPs,Java类),内存使用,网络使用,应用服务器配置与调整,还有数据库交互。大多数性能问题的关键点体现在应用每个系统组成部分的交互过程中,而PerformaSure具有这种关键能力。

     

    PerformaSure的优势

        PerformaSure通过在测试和生产系统中从事务的系统范围角度,提供深度的应用诊断,满足那些重要的和不能令人满意的需要。PerformaSure给性能团队提供客观的数据,使他们与其它人员一起解决问题,加快修复时间。PerformaSure是Quest Software用于J2EE应用性能管理一整套解决方案中的一部分。

     

    以事务为中心的完全J2EE应用诊断

        采用以事务为中心的方法是识别最重要的影响最终用户瓶颈的最快方法。PerformaSue设计用于以事务为中心的分析和诊断。通过特有的Tag and Follow技术,PerfomaSure以最终用户的观点把事务时间分为组件级,服务器级或集群级。为了J2EE诊断的深度和宽度,PerformaSure收集和相关联极其重要的性能度量值的全部组件。PerformaSure也让分析人员深入到有问题的事务和方法查找根原因。

     

    全面的系统观点

        PerformaSure提供丰富的图形用户界面和视图,通过所有性能数据快速且直观地指导用户。另外,使用PerformaSure's Zonar技术的强大时间导航功能,可以允许分析人员快进和回放,也可以放大或缩小所有收集的性能数据。

     

    可配置的低负载

        为了得到更加有针对性的低负载分析,PerfomaSure允许用户选择跟踪特定的事务。对于安装在每个组件上的无干扰Agents,可配置的分析选项和灵活的设置意味着很容易定位分析目标而不用修改或重新编译代码。

     

    团队成员的协同工作

        PerformaSure全面的系统观点,直观的界面和强大的导航功能使得IT组织内部可以共享团队间彼此的诊断经验。在显示由于数据库调用引起的具体性能问题上,没有什么方法比给开发者和数据库管理员显示引起该问题的特定事务,该事务在哪里慢下来了和为什么慢下来更好的方法。在事实面前,将不会出现猜疑和相互指责,缺乏详尽性能数据的现象。有了PerformaSure,专家能够比一开始就争论更快地解决问题,所有性能团队成员都能得到需要快速解决问题的数据。在不同位置的团队也能够从远程访问PerformaSure Workstation,同时查看性能数据。

     

    与Quest's Detailed Diagnosis Tools集成

        发现,诊断并解决J2EE性能问题对于一个专家或一个工具来说是不大可能的事。如果不能自动地从运行中的系统收集性能数据,那么你就不能在生产中发现问题。性能问题的故障原因往往与J2EE应用组件无关或深入到J2EE应用组件的底层,比如应用代码本身或者复杂的数据库查询。

         PerformaSure是集成的J2EE应用性能管理解决方案的一部分,这个解决方案还包括Foglight,JProbe。Foglight用于在生产中24x7小时监控J2EE应用;当问题暴露时,它能无缝地触发PerformaSure从运行系统中捕获诊断的数据,使得员工能够快速地进入修复周期的诊断阶段。当应用代码有问题时,转到JProbe,进行更深入的性能,内存和线程问题的分析。PerformaSure也能够启动Quest用于Oracle和DB2的数据库分析工具诊断复杂的数据库问题。