软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>单元测试>>正文
J2EE应用的性能调整--JPROBE使用篇
文章出处:转载 作者:崔飞飞 发布时间:2005-11-30
  Probe Suite 是Java最佳的性能调优组件工具包,提供了高级的、高灵活性的Java应用程序调优,而不管其在本地运行还是在远程运行。
  组件包中包括:
  JProbe Profiler(诊断Java代码中性能瓶颈)、
  JProbe Memory Debugger(发现Java代码中的内存泄漏)、
  JProbe Threadalyzer(多线程分析)
  JProbe Coverage(代码覆盖分析)

  本文通过Jprobe Profiler 的使用,调试WEBLOGIC服务的服务器端问题,通过文章向读者展示,借助于工具与传统通过分析THREAD DUMP文件的一些优点。
  本文目标:让读者学会如何使用JPROBE工具来对J2EE应用程序进行性能的优化和调整。
  运行环境:
  OS:WIN2000
  WEBLOGIC:7.0或8.1
  JPROBE:5.2.2
  步骤一:启动JPROBE的Profiler工具组件包,进入管理控制台,选择SESSION?>New J2EE Settings,
出现如图2004-11-28-Converse-Chart-1界面:


图2004-11-28-Converse-Chart-1

  该界面默认选中有WEBLOGIC8。1的设置,如果没有你需要的服务器或者是版本号不同,可以点击Manage Configurations按钮进行设置,如图2004-11-28-Converse-Chart-2界面所示,选择ADD进行服务器的添加图图2004-11-28-Converse-Chart-3图示为增加界面,在APPLICATION SERVER选项中含有目前各主流的应用服务器(商用和免费的都有)。


图2004-11-28-Converse-Chart-2


图2004-11-28-Converse-Chart-3

  选择需要测试的服务器种类,通过Integrations按钮可以配置选中服务器的各项属性,比如启动SH,服务器目录还有启动的JVM参数等,然后配置应用,以及选择你需要分析的程序,可以是WAR,EAR,或者是JAR(图2004-11-28-Converse-Chart-4);


图2004-11-28-Converse-Chart-4

  确定后,基本的与应用相关的配置就OK了,现在马上进入的就是最重要的环节,启动服务器开始观察(图CON_PIC-5),点击RUN按钮启动程序,启动前可以设置那些需要重点监控的类,在FILTERS里进行配置,以及可以配置TRIGGERS在程序运行到一些你预设的值的时候触发的。


图2004-11-28-Converse-Chart-5

  在图CON_PIC-6和图CON_PIC-7里是启动的过程,以及启动过程中的JVM内存使用的曲线图,可以配置需要多长时间进行刷新和绘制。


图2004-11-28-Converse-Chart-6

图2004-11-28-Converse-Chart-7

  在图CON_PIC-7里面可以把运行中监控的数据导出来分析,有HTML,CSV等多种格式,在图CON_PIC-7可以选择工具栏内的Take Performance SnapShot功能,生成当前运行的JVM快照,该快照可以在图CON_PIC-1内显示,可以生成多个快照分析在不同时间段内的内存使用情况,这些信息有点类似与通过KILL ?3 PID或者的THREAD DUMP信息,不过在JPROBE内可以通过更直观的图形显示,来跟踪类的调用过程。(图CON_PIC-8和图CON_PIC-9)


图2004-11-28-Converse-Chart-8
该图为类调用的过程线索图例

图2004-11-28-Converse-Chart-9
该图为JVM中使用的类的列表,包括各类的使用频度,占整个JVM开销的百分比都能清晰反映出来

  最后,调优和问题诊断是个比较复杂和重复的过程,传统的通过分析THREAD DUMP文件对调优的人员要求比较高,而且数据的采集比较麻烦,借助于工具,可以更直观的帮助开发或者是实施人员更快的发现问题的所在,并且可以将结果形成报告的形式。另外JPROBE也可以和开发工具结合在一起进行使用,在图CON_PIC-1里的TOOLSàIDE Integration进行配置选择,支持目前主流的开发工具,包括各服务厂商的集成工具,不过好象没有WORKSHOP,呵呵,有点遗憾,我想在未来新版本出来的时候应该会有。


站内搜索
相关文章
◎使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Te...
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(三)
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(二)
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(一)
◎数据库程序的单元测试
◎防御性编码和单元测试“交通规则”
◎单元测试实践(VB版)
◎Linux:让内存不再泄漏
◎感悟测试驱动开发
◎软件测试技术获重大突破
◎PHP单元测试工具PHPUnit初体验
◎使用NUnit在.Net编程中进行单元测试
◎Java性能的优化
◎Java内存泄漏分析
◎Java的内存泄漏
◎NUnit快速入门
◎单元测试方法
◎单元测试浅析
◎java的单元自动化测试---jtest
◎Java程序的单元测试
◎自动进行团队构建和单元测试过程
◎C语言单元测试框架-Check
◎在Eclipse中使用JUnit
◎EasyMock与JMock的比较
◎FindBugs第1部分: 提高代码质量
◎静态测试
◎测试Linux的可靠性
◎TestNG使Java单元测试轻而易举
◎诊断 Java 代码:单元测试与自动化代码分析协同工作
◎JBuilder单元测试实例
◎使用Rational Software Architect
◎怎样使用Junit Framework进行单元测试的编写
◎“白盒”静动测试两齐全
热门文章
◎全面介绍单元测试
◎单元测试------理论篇
◎Java内存泄漏分析
◎单元测试作业指导书(一)
◎junit实现过程
◎白盒测试中的六种覆盖方法
◎JUnit起步
◎单元测试方法
◎C/C++单元测试问答(摘要)
◎nunit使用资料
◎单元测试的基本方法
◎如何挑选白盒测试工具
◎NUnit快速入门
◎在Eclipse中使用JUnit
◎Java的内存泄漏
◎Linux:让内存不再泄漏
◎单元测试的小技巧介绍和举例
◎单元测试指导
◎为什么要进行单元测试?
◎单元测试作业指导书(二)
◎“白盒”静动测试两齐全
◎数据库程序的单元测试
◎静态测试
◎单元测试浅析
◎ant结合junit进行软件自动测试
◎单元测试作业指导书(三)
◎单元测试作业指导书(四)
◎CppUnit - 测试驱动开发入门
◎用cppUnit进行单元测试的步骤
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(一)
◎java的单元自动化测试---jtest
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(三)
◎使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Te...
◎C语言单元测试框架-Check
◎EasyMock与JMock的比较
◎Java程序的单元测试
◎JUnit中如何测试异常
◎怎样使用Junit Framework进行单元测试的编写
◎使用NUnit在.Net编程中进行单元测试
◎单元测试和事先测试开发
◎JBuilder单元测试实例
◎感悟测试驱动开发
◎单元测试实践(VB版)
◎软件测试技术获重大突破
◎C语言高效编程的的四招技巧
◎使用ant编译、运行junit、以及检查编码
◎JCoverage使用
◎让编译和测试过程自动化
◎自动进行团队构建和单元测试过程
◎有关Junit的多线程测试

Google提供的广告