




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、性能测试工具OptimizeIt使用方法一、性能测试基本步骤我们先以一个JAVA Application为例演示怎样进行测试.1、运行OptimizeIt,如果是安装后第一次运行会自动出现Edit Settings对话框。如图1所示图1 设置jvm运行参数2、 ProgramType中选择Application;3、 击Program main class or Jar file框右边的Browse按钮,选择需要进行性能测试的.class或.jar文档,现选中OptimizeIt中的例程ZXCOMCRV2.5.03_3GVer_2004-05-09umsums-clntrun.jar4、 选中
2、Virtual Machines控件,确定列表中是否列出了本机JDK的安装路径,如果没有,则点击Add virtual machines.按钮,下面跟着wizard提示一步步把本机的JDK加入到列表中,如图2所示图2 jdk设置路径和方法5、 在class path中加入运行所需的jar或路径,对wsf为:ZXCOMCRV2.5.03_3GVer_2004-05-09umsums-clntlibZXCOMCRV2.5.03_3GVer_2004-05-09umsums-clntkernelserverdefaultlibZXCOMCRV2.5.03_3GVer_2004-05-09umsums
3、-clntkernellibZXCOMCRV2.5.03_3GVer_2004-05-09umsums-clntkernelbinrun.jarsouce path为空svr类似二、内存性能测试启动测试程序后,OptimizeIt窗口自动打开内存监测器,如图3所示。内存监测器列出了测试程序中包含的所有类以及为每一个类实时分配的对象实例的数量。下面介绍一下怎样使用内存监测器来分析例程中的内存使用情况。 图31 点击Instance count 列可以根据对象分配实例的数目对class进行归类2 在窗口下面的Filter框中输入java.util.*,回车,可以将类限制在java.util.*中。
4、3 在内存监测器中可以看到很多对象实例的数目在动态的增加和减少。增加是因为分配了新的对象实例,而减少是由于java的垃圾回收。如果只想看到对象的分配,可以点击窗口右下方的Disable garbage collector按钮,这时就可以只看到所有的分配的对象实例数目。4 在堆列表中选中感兴趣的类,现选中java.awt.color类,然后点击按钮,可以转换到对象实例的分配追溯模式,如图4所示。 图4我们可以使用内存监测器最小化临时对象的分配。临时对象分配很快,但过多的这种临时对象会使垃圾回收十分繁忙。对于大多的java虚拟机而言,当垃圾回收处于繁忙状态时,相应的会使java程序冻结几百毫妙。如
5、果分配了太多了临时对象,会使用户明显的感觉到程序运行速度变慢。此外,OptimizeIt的内存监测器可以使我们更好的理解为什么有些对象不被垃圾回收,下面步骤描述怎样使用内存监测器确定某一指定对象实例的信息以及是否正在被回收或能否被垃圾回收。1) 点击按钮,回到内存监视器的堆模式;2) 我们选择显示与图像相关的类,在filter框中输入*Image*,回车,结果如图5所示; 图53) 选择javax.swing.ImageIcon行4) 点击图标,显示对象实例的信息,如图6所示;图6窗口的上面显示了实例的描述信息,中间部分显示了哪些对象引用了选中的实例,以及回归引用该对象实例的对象。对于图中我们
6、选中的类,由于ImageIcon对象被其他对想引用,所以它不能被垃圾回收。最下面的部分显示了中间段选中的实例的分配方法回溯。三、CPU监视器的使用CPU监视器象是一个存放在java虚拟机中的记录设备,可以使我们看到对象消耗的时间,下面步骤介绍怎样使用CPU监视器获得被测程序的CPU利用和时间花费信息。1、 点击按钮,如图7所示; 图72、 点击按钮,开始记录测试程序的CPU使用情况; 3、让程序运行大约30秒左右,再次点击刚才的按钮,CPU监测器会显示所记录的时间段的监测信息,如图8所示; 图84点击Time profiler output标题下的下拉框,下拉框中显示了在虚拟机中运行的所有线程
7、,我们选中AWT-EventQueue-0线程,如图9所示;图95扩展EventDispatchThread.pumpOneEvent()方法,一直到出现方法method JComponent.paintWithBuffer().,如图10所示;图10其中表示该方法立刻调用了其他方法;表示该方法真正占用了CPU6选中JComponent.paintWithBuffer().,如果把鼠标停留在该方法所在位置,过一会儿,可以看到该方法所耗费的相对时间,如图11所示;图11四、虚拟机信息点击按钮,可以看到虚拟机信息,如图12所示:图12右上方的图表列出了垃圾回收活动的信息。垃圾回收活动图表示出垃圾收
8、集所用时间占总时间的比例。该信息易于我们理解垃圾回收器有多长时间是处于繁忙状态。左上方的图显示了堆的大小以及当前应用实际使用的堆的大小。左下方的图中红线表示线程的数目,而绿线表示实际使用了CPU的线程数目。右下方的图列出了虚拟机中当前加载的类的数目。五、快照的使用我们可以利用OptimizeIt对当前监测情况拍下快照,供以后分析。1、 选择菜单中的File/Generate snapshot,如图13所示; 图132、 在Generate snapshot面板的option中,选中Include reference graph,然后点击Write snapshot,生成当前监测情况的快照。3、
9、 可通过选择菜单File/Open snapshot打开快照保存文件,通过上面描述的方式即可浏览内存和CPU的监测信息。六、如何将OptimizeIt与Jboss集成<OptIt_Dir>是指OptimizeIt的安装路径,如C:OptimizeitSuiteOptimizeitSuite41,<Jboss_Dir>是指Jboss的安装路径。1) 配置Jboss1 将<OptIt_Dir>Tutorialscript路径下的jboss_OI.bat 文件拷到<JBoss_Dir>bin目录下2 用UltraEdit打开放在<JBoss_Di
10、r>bin目录下的jboss_OI.bat文件3 在“set JAVA_HOME=”后面添加本机虚拟机的路径,如: set JAVA_HOME=c:jdk1.3.14 在“set OPTIT_HOME=”后面添加 <OptIt_Dir>的路径,如set OPTIT_HOME= C:OptimizeitSuiteOptimizeitSuite415 在“set JBOSS_HOME=”后面添加<JBoss_Dir>的路径6 将文件<OptIt_Dir>filtersJBoss.oif拷到<JBoss_Dir>binoi_filter.oif2
11、)用jboss_OI.bat启动jboss3) 连接OptimizeIt1 从Program菜单选择Attach,如图14所示;图142 如果需要的话,可以自己改变端口号以及主机名3 点击Attach按钮4 这时,就可以看到Jboss的内存及CPU监测情况,方法和前面一样。七、实际测试与数据记录1 用OP启动所要测试的程序,加入程序所需的类和包。2 当被测程序运行稳定后,在开始一个功能测试(功能清单中最小的测量项单位)前,设置观察点,表示准备采集的性能数据的开始参考点。记录当前的Heap值(或者将Heap数据导出),导出实例数据(按工具栏上的Export Data按钮)。3 然后执行要测试的功
12、能,观察实例的变化情况(由于会有很多事例生成,影响观察,可以在下方的过滤条件里输入所关注的类或者包,多个可用逗号隔开)。过滤器的设置要合适,不要太大粗,也不要太细,可按功能细化、侧重的模块灵活配置。对于异常的实例可以观看其详细资料,定位实例产生的源头。同时还可以切换到内存显示,观察Heap的使用情况。4 当运行稳定后,记录Heap值,导出实例数据。5 关闭或停止运行此功能,稳定后,记录Heap值,导出实例数据。6 当发现可疑类(操作该功能前后有很多实例产生,操作完后很长时间不释放),可按工具栏上的Export Data按钮导出数据,在不同的观测界面导出不同格式的数据,同时尽可能捕捉该类的引用变
13、化情况,通过抓图的形式留下供分析的参考界面。7 一般来说,一个功能的内存测试至少要反复测三次以上,推荐四次或五次,记录不同的数据(主要是通过Export Data和抓图),同时文件命名时以比较清晰反映该功能什么操作,并在txt文件里描述自己做了些什么操作,重点的留下数据时都进行了什么操作,有些什么条件,包括工具本身的使用,是从什么界面、什么时候抓或导出哪个文件,这个工作可在当时测试时简单记录,当天测试结束后整理成文。8 同时还可以打开Window任务管理器,观察java.exe的内存使用情况,可以辅助分析。但是当其与Heap值的变化发生矛盾时(原因可能是由于window的内存回收和java的有所不同),以Heap值的变化为主。9 前一种方式在执行完测试的功能后,不做GC(垃圾回收),下面介绍的测试方式,在关闭或停止运行此功能后手动垃圾回收,等GC的回收率为0%时,在记录数据。(不主动垃圾回收,若系统无内存泄露运行一段时间后自己也会将产生的实例回收,所以主动不主动的效果应是一样的)10 由于内存测试收测试环境和程序其他部分的影响比较大,先找出可疑的功能点,再进行细致的排查。11 记录格式可采用如下格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学心理健康《情绪气象台》教案
- 冲击波术后护理
- 五分钟高效病例汇报策略
- 安全生产管理责任制
- 食管贲门失弛缓症护理
- 2025年细编含钨丝织物项目规划申请报告模板
- 【芜湖】2025年安徽芜湖无为市文化旅游体育局招聘工作人员3人笔试历年典型考题及考点剖析附带答案详解
- 【福州】2025年福建福州闽侯县事业单位公开招聘青年人才42人笔试历年典型考题及考点剖析附带答案详解
- 光源的教学课件
- 年月日公开课教学课件
- 2024年露营帐篷项目可行性研究报告
- 2023年国网山西省电力公司提前批招聘考试真题
- 乙型肝炎病毒实验活动风险评估报告
- 福建省机关工作人员年度考核登记表
- DL∕T 5452-2012 变电工程初步设计内容深度规定
- 《山区公路桥梁典型病害手册(试行)》
- 中国急性缺血性卒中诊治指南(2023)解读
- 研学基地合作协议
- 商业步行街物业管理服务质量标准
- 驾驶员行为规范管理制度
- 化妆品生产工艺验证报告范文模板-新规要求工艺参数及关键控制点验证
评论
0/150
提交评论