`
tansitongba
  • 浏览: 487633 次
文章分类
社区版块
存档分类
最新评论

使用PerformaSure进行J2EE性能监控及瓶颈分析

 
阅读更多

1.文档说明

本文档主要讲述如何把PerformaSure工具集成在应用中并使用PerformaSure工具进行性能数据的收集和分析。

2.PerformaSure介绍

2.1简介

PerformaSureQuestSoftware出品的性能测试产品套件,用于J2EE架构应用系统的性能数据的采集和分析。

PerformaSure产品由AgentNexusWorkstation几部分组成;Agent用于J2EE应用服务器、操作系统和网络的性能数据的采集;Nexus用于采集到的数据的集中加工处理;Workstation提供了性能分析结果的表示界面。

2.2功能特点

QuestPerformaSure性能测试产品套件在J2EE应用系统的性能测试方面很有特色,它提供了多方面的性能指标数据的收集和分析功能,有助于找出制约应用系统性能提升的瓶颈所在。

2.3易用性方面

PerformaSure产品的安装配置基本上与平台不相关,安装过程比较简单。

与应用服务器的集成,涉及到一些脚本的手工修改,按照相关文档也可以比较顺利地配置成功。

图形用户界面比较友好直观,支持数据存档和报告输出。

3.PerformaSure安装、配置与数据分析

3.1Windows下安装过程

进入PerformaSure安装介质目录的windows目录,直接运行install.exe即可,根据需要选择不同的安装类型,当仅用于搜集数据时选择“agent”,当用于处理数据时选择“nexus”,当用于分析数据结果时,选择“workstation”;

当选择的安装类型是“nexus时,需要在安装完毕之后,将有效的license文件拷贝至PerformaSure的起始安装目录下,文件名称为performasure.license

3.2Unix下安装过程

首先进入一个XWindow环境;

然后进入PerformaSure安装介质目录的相应操作系统的目录,如solaris目录,运行install.bin,后续的安装步骤与Windows下的安装过程相同。

Example

在收集framecluster环境下的性能数据时PerformaSure的安装结构是:

1.在两台部署了集群环境的机器上分别安装PerformaSureAgent用例搜集两个ejbserver的数据

2.在另外一台机器(可以是pc上安装PerformaSureNexusWorkstation用来处理和分析搜集到的数据

3.3PerformaSure配置和运行过程

3.3.1Nexus配置和运行:

进入PerformaSure安装目录的bin目录,直接运行Nexus.exeUnix下的相应的可执行文

件)即可。

Nexus运行的日志被输出到PerformaSure安装目录的logs目录中的nexus.log中。

3.3.2Agent配置和运行:

3.3.2.1设置Nexus主机名解析

Nexus所在机器上执行命令hostname获得Nexus所在机器的DNS名称,将该名称转化

为小写字符串;

Agent所在机器的hosts文件中为Nexus所在机器增加一个条目,主机名使用上述小写字符串。

3.3.2.2设置与Nexus机器的连接

Nexus所在机器上编辑PerformaSure安装目录中的agent.config文件,找到其中的

<NexusLocation>..</NexusLocation>形式的行,在起始和结束标签中填入Nexus所在机器的IP

地址和端口,<NexusLocation>192.168.70.190:41705</NexusLocation>Nexus的缺省端口就是

41705一般不用修改,只修改IP地址即可。

3.3.2.3Weblogic集成

(注:PerformaSure2.1版本目前支持weblogic6.xweblogic7.0的版本,对于weblogic8以上

的版本支持方面可能会有问题)

Solaris,AIX,HP-UX11环境下的安装说明

1.如果使用的是Weblogic6.x则需将下面的语句复制到

bea_home/wlsServer6.1/conig/mydomain/startwebloigc.sh

如果使用的是Weblogic7.0则需将下面的语句复制到

bea_home/weblogic700/server/bin/startWLS.sh

并且保证所有的语句都是在已经设定好了JAVA_HOME后才出现

(a)设置PERFORMASURE_HOME变量,使之对应PerformaSure目录

#必须设定下面的变量

#

PERFORMASURE_HOME=***本机上PerformaSure的实际路径***

(b)设置PerfomaSure所需的一些参数

#

#下面的语句都是基于PERFORMASURE_HOME变量,直接拷贝到Weblogic的启

动脚本中即可

#不要做其他改变

#

exportPERFORMASURE_HOME

sh"${PERFORMASURE_HOME}/scripts/preinstrumentor.sh""${JAVA_HOME}"

."${PERFORMASURE_HOME}/scripts/makebootstrappath.sh"

makebootstrappath"${JAVA_HOME}"

PERFORMASURE_BOOTSTRAP=-Xbootclasspath/p:"${PS_BOOTSTRAP_PATH}"

#下面出现的变量请注意:如果在集群环境下,则分为管理服务器和受管理服务器

#如果是管理服务器,则后面的参数是--weblogic-nodemgr

#这样Nexus就不会采集该服务器的数据

#而如果是受管理服务器,则后面的参数是--weblogic

#如果是在单服务器环境下,则后面的参数也是--weblogic

#这样两种情况下Nexus都会去采集服务器数据

#这个是集群中的受管理服务器或单机服务器中需要的变量

PERFORMASURE_OPTIONS="com.sitraka.pas.agent.Agent--weblogic"

#这个是集群中的管理服务器所需变量

PERFORMASURE_OPTIONS="com.sitraka.pas.agent.Agent--weblogic-nodemgr"

2.将下面的变量插入Weblogic启动脚本中的java命令行,并且保证出现在"weblogic.server"

之前

"${PERFORMASURE_BOOTSTRAP}"${PERFORMASURE_OPTIONS}

请注意:对于Weblogic7.0来说,服务器的启动脚本可能出现在两个地方,

user_projects/domain_name/Startweblogic.sh或者是weblogic700/server/bin/startWLS.sh,因此要

判断出所需要的脚本,并加以改变。

Windows环境下的安装说明

1.如果使用的是Weblogic6.x则需将下面的语句复制到

bea_home/wlsServer6.1/conig/mydomain/startwebloigc.cmd

如果使用的是Weblogic7.0则需将下面的语句复制到

bea_home/weblogic700/server/bin/startWLS.cmd

并且保证所有的语句都是在已经设定好了JAVA_HOME后才出现

(a)设置PERFORMASURE_HOME变量,使之对应PerformaSure目录

#必须设定下面的变量

#

PERFORMASURE_HOME=***本机上PerformaSure的实际路径***

(b)设置PerfomaSure所需的一些参数

#

#下面的语句都是基于PERFORMASURE_HOME变量,直接拷贝到Weblogic的启

动脚本中即可

#不要做其他改变

#

call"%PERFORMASURE_HOME%/scripts/preinstrumentor.cmd""%JAVA_HOME%"

call"%PERFORMASURE_HOME%/scripts/makebootstrappath.cmd""%JAVA_HOME%"

#下面出现的变量请注意:如果在集群环境下,则分为管理服务器和受管理服务器

#如果是管理服务器,则后面的参数是--weblogic-nodemgr

#这样Nexus就不会采集该服务器的数据

#而如果是受管理服务器,则后面的参数是--weblogic

#如果是在单服务器环境下,则后面的参数也是--weblogic

#这样两种情况下Nexus都会去采集服务器数据

#这个是集群中的受管理服务器或单机服务器中需要的变量

setPERFORMASURE_OPTIONS=-Xbootclasspath/p:"%PS_BOOTSTRAP_PATH%"

com.sitraka.pas.agent.Agent--weblogic

#这个是集群中的管理服务器所需变量

setPERFORMASURE_OPTIONS=-Xbootclasspath/p:"%PS_BOOTSTRAP_PATH%"

com.sitraka.pas.agent.Agent--weblogic-nodemgr

2.将下面的变量插入Weblogic启动脚本中的java命令行,并且保证出现在"weblogic.server"

之前

%PERFORMASURE_OPTIONS%

请注意:对于Weblogic7.0来说,服务器的启动脚本可能出现在两个地方,

user_projects/domain_name/Startweblogic.cmd或者是weblogic700/server/bin/startWLS.cmd

此要判断出所需要的脚本,并加以改变。

3.Weblogic集群的管理服务器作为Windows的服务运行

(a)构建管理服务器的启动脚本

*Weblogic6.1下:参见

http://e-docs.bea.com/wls/docs61/adminguide/remotestart.html#10044497创建作为Windows

务的管理服务器启动脚本,但先不要运行该脚本

*Weblogic7.0下:使用bea_home/weblogic700/server/bin/installNodeMgrSvc.cmd的一个

副本

(b)将下面的语句放入管理服务器的启动脚本,并且保证出现在执行程序之前

@rem必须设定下面的变量

@rem

PERFORMASURE_HOME=***本机上PerformaSure的实际路径***

@rem

@rem下面的语句都是基于PERFORMASURE_HOME变量,直接拷贝到Weblogic

启动脚本中即可

@rem不要做其他改变

@rem

call"%PERFORMASURE_HOME%/scripts/preinstrumentor.cmd""%JAVA_HOME%"

call"%PERFORMASURE_HOME%/scripts/makebootstrappath.cmd"

"%JAVA_HOME%"

setPERFORMASURE_OPTIONS=-Xbootclasspath/p:"%PS_BOOTSTRAP_PATH%"

-Dperformasure.cmdline.arg0=--weblogic-nodemgr

-Dperformasure.cmdline.arg1=weblogic.nodemanager.NodeManagercom.sitraka.pas.agent.Agent

(c)%PERFORMASURE_OPTIONS%覆盖java命令行中的

weblogic.nodemanager.NodeManager

3.4PerformaSure数据的分析

3.4.1请求响应时间分析:

PerformaSure以柱状图和树型图的形式提供了应用层请求响应时间的定量分析结果。这两种

图的表现形式比较直观,使用比较方便。

柱状图的分析是以各个Servlet的请求相应时间为基准的,其中不同颜色的条带分别代表了

Web层、EJB层和通过JDBC进行的数据库访问所占的时间。

通过柱状图的分析,可以直观地看出各个部分所占时间的比重,为进一步分析提供了线索,

成为后续的分析工作的起点。

PerformaSure提供的调用序列树型图可以将调用序列链条中耗时最多的环节用红色标示出

来,有助于找出性能瓶颈。

在使用PerformaSure进行性能数据分析的时候,这两种图形是最常用的,它们直观地显示出

了应用系统的性能瓶颈所在,对一般化的性能分析很有帮助。

3.4.2度量分析:

PerformaSure提供了给予Java虚拟机、操作系统、应用服务器的EJBJDBCJMS的以时间

为横坐标的数据度量曲线图形。

Java虚拟机的度量指标包括:堆的空闲百分比、空闲绝对值、占用百分比、占用绝对值,

中每一种指标又分为全部计量节点的综合指标和每一个计量节点的个别指标两部分。

操作系统的度量指标包括:内存占用、磁盘读写、CPU利用率,其中每一项又进一步分为若干细

化的指标。

应用服务器的度量指标包括:EJB缓存、EJB锁、事务成功提交、回滚和超时的统计、JDBC

连接池的使用情况、JMS连接的使用情况;其中每一种指标又分为全部计量节点的综合指标和每

一个计量节点的个别指标两部分。

总的来说,度量分析这一部分提供了各种不同角度和粒度的度量指标上百个之多,对于深入

的性能分析应该能够满足要求。在这一次的试用过程中,有相当多的指标已经超出了Frame2现阶

段性能测试的需要。

另外,对于相关指标之间的对照分析,PerformaSure的支持不够完全。总体感觉,PerformaSure

提供的性能度量指标十分丰富,但工具对这些指标的对比分析和深入挖掘功能不是很强,多少给

人以堆砌数据的印象。

3.5数据存档和报告生成

3.5.1数据存档:

PerformaSure采集到的一系列性能指标数据,以Session数据文件的形式保存在Nexus运行的

机器上,每一次录制和采集生成一个文件。这个文件可以在日后重新打开再次进行分析,这样就

满足了数据存档的需求,操作也比较方便。

3.5.2报告生成:

PerformaSure提供性能数据导出成PDF文件的功能,格式和版面比较美观。导出文件的内容

基本上等同与Workstation中看到的分析结果,比较烦杂,不太适合作为正式提交的文档,应该需

要进一步加工才行。

<!--EndFragment-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics