- 论坛徽章:
- 0
|
Quest Jprobe最佳实践,解决Java内存泄露,性能瓶颈,代码覆盖等问题
详见
http://www.innovatedigital.com/htm_speek/Index_speek_7.htm
http://www.innovatedigital.com/htm_speek/Index_speek_7_b.htm
在Java的广泛应用中,一个关键驱动因素是由于使用标准类库和应用框架从而提高了生产效率。通过减少必要的设计,实现和调试等软件开发任务,Java在各种平台之间极大地改善了集成性和互操作性;其它的开发环境都不能提供象Java那样的强大功能。实际上,没有一个环境象J2EE那样具有明显的基于框架开发的优点,J2EE能够快速地构建可扩展,分布式的安全企业级应用。
虽然这些优点一直在促进J2EE的空前发展,但也经常出现一些麻烦,那就是人们经常对J2EE应用的性能感到失望。因此,我们需要一些工具和调查策略来帮助J2EE开发团队解决这些性能问题。这就是Quest JProbe Profiler和Jprobe Memory Debugger所要解决的问题。
1.1 J2EE性能概揽
一般情况下,最终用户对J2EE应用性能的体验与下面层次是紧密相关的:
1 J2EE体系结构图
J2EE应用是指servlets,JSPs,EJBs和支持类,它们在J2EE应用服务器的上下文环境中构成了客户的应用。
J2EE应用服务器是指J2EE应用服务器基础结构的设计,实现和配置,它们提供了客户J2EE应用的上下文环境。
JAVA运行环境是指JAVA虚拟机及其配置(堆的大小等等)的设计和实现。
l 平台-底层硬件(如CPU的数目,内存的大小,I/O子系统等)和操作系统设计,实现和配置(线程和进程调度,子系统优化,整体负载等) 。
虽然毫无疑问,底部层次会影响整个性能,经验也不断地表明,性能下降的普遍原因是由组成J2EE应用的Servlets,JSPs和EJBs的设计问题和不佳的实现造成的。本文将集中讨论在这个底层中如何识别出性能下降的原因
1.2 概述
本文描述了在BEA WebLogic Server6.1上下文环境中,怎样用Quest JProbe Memory Debugger和Profiler分析J2EE应用。包括三个主要部分:
设置-在介绍JProbe的体系结构之后,我们将描述怎样把JProbe Memory Debugger和Profiler集成到WebLogic Server6.1环境中。
对象循环分析-在J2EE应用中,性能下降的普遍原因是创建过多的短期对象(也可称为对象循环)。在这部分里,我们将展示怎样使用JProbe Memory Debugger's Garbage Monitor识别大量创建短期对象的方法。这些是进一步分析减少创建过多对象的最佳方法。
J2EE性能分析-最后,我们将使用JProbe Profiler向你介绍怎样进行J2EE应用的性能分析,并且在语句级上快速地识别出一些耗时最多的方法。 |
|