JProfiler解决Java服务器的性能跟踪.doc
文本预览下载声明
JProfiler解决Java服务器的性能跟踪
1、摘要..........................................................................12、改善服务器的性能...........................................................13、分析器原理...................................................................24、JProfiler 简介...............................................................25、JProfiler 特征...............................................................36、本地监控.....................................................................47、远程监控.....................................................................78、参考..........................................................................9
?
?
1
?
???? ? 改善 Java 服务器的性能需要模拟负载下的服务器。创建一个模拟环境、搜集数据并且分析结果可能是对许多开发人员的挑战。这篇文章介绍了使用 JProfiler 跟踪分析 Java 服务器的性能。
?
简单的性能问题很容易分离并解决,然而,大的性能问题,如内存溢出或者系统的罢工,通常在系统处于高负载情况下发生,就不能这么简单的处理了。这些问题需要一个独立的测试环境、一个模拟的负载,并且需要仔细地分析和跟踪。
?
在这篇文章中,我使用比较通用的工具( JProfiler 和 JBuilder )和设备创建了一个性能监控分析环境,跟踪本地和远程的服务器程序,专注于三个性能问题:内存、垃圾回收和多线程运行状况,从而很好的监视 JVM 运行情况及其性能。
2 、改善服务器的性能
?
服务器的性能改善是依赖于数据的。没有可靠的数据基础而更改应用或环境会导致更差的结果。分析器提供有用的 Java 服务器应用信息,但由于从单用户负载下的数据与多用户负载下得到的数据是完全不同的,这导致分析器的数据并不精确。在开发阶段使用分析器来优化应用的性能是一个好的方式,但在高负载下的应用分析可以取到更好的效果。
?
在负载下分析服务器应用的性能需要一些基本的元素:
?
1、?
2、?
3、?
4、?
?
不要低估最后一个需求(性能跟踪)的重要性因为如果不能跟踪性能你就不能实际的管理项目。性能上 10-20% 的改善对单用户环境来说并没有什么不同,但对支持人员来说就不一样了。 20% 的改善是非常大的,而且通过跟踪性能的改善,你可以提供重要的反馈和持续跟踪。
?
虽然性能跟踪很重要,但有时为了使后续的测试更加精确而不得不抛弃先前的测试结果。在性能测试中,改善负载测试的精确性可能需要修改模拟环境,而这些变化是必须的,通过变化前后的负载测试你可以观察到其中的转变。
3 、 分析器原理
?
现在几乎所有的分析器都是从同一个起点和约束开始的: Java 虚拟机分析器界面 (JVMPI) ( 参考 The Java Virtual Machine Profiler Interface) 。 Sun 微系统的 API 允许工具开发商接口或者连接到遵循 JVMPI 的 JVM 上,并且监控运作的方式以及 JVM 运行任何 Java 程序时的关键事件 -- 从单独的应用程序到 Applet 、 Servlet 和企业 JavaBeans (EJB) 组件。
?
在分析器内启动一个程序意味着生成、捕捉、和观察大量数据,所以所有的分析器都包含着不同的方法来控制数据的流动,在不同的标准以及每一封装包的基础上进行过滤。同样 也可以使用灵活的正规表达式类型模式来完成。
4 、 JProfiler 简介
是一个全功能的 Java 剖析工具( profiler ),专用于分析 J2SE 和 J2EE 应用程序。它把 CPU 、执行绪和内存的剖析组合在一个强大的 应用中。 JProfiler 可提供许多 IDE 整合和应用服务器整合用途。 JProfiler 直觉式的 GUI 让你可以找到效能瓶颈、抓出内存漏失 (memory?leaks) 、并
显示全部