我的编程空间,编程开发者的网络收藏夹
学习永远不晚

WebSphere Studio 中的J2EE应用程序概要分析(2)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

WebSphere Studio 中的J2EE应用程序概要分析(2)

WebSphere Studio 中的J2EE应用程序概要分析(2)

[@more@]选择 WebSphere J2EE 过滤器集阻止了代理收集与标准的 J2EE 包有关的数据。而我们想要收集的是与我们正在进行概要分析的应用程序有关的数据。为了达此目的,可以添加过滤器来包括 acme.* 包。单击 Add(上面打了圈),然后输入 Add filter 对话框中所示的值。单击 OK,然后选择 Next 以进行下一步操作。

一些来自您希望过滤掉的包中的数据会不合逻辑地出现在概要分析视图中。这是一个已知的问题。

各种概要分析选项(如图8所示)允许您进一步指定概要分析代理可以收集的性能数据的详细程度。选择适当的选项,然后单击 Next 以进行下一步操作。

图8. 指定概要分析选项

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

Profiler 现在配置完毕。单击 Finish

在成功地完成了 Profiler 的配置过程之后,系统就启动 Profiling 透视图。已配置的概要分析代理会显示在 Profiling Monitor 中。单击 OK以进行下一步操作。

图9. Profiler 设置完毕

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />



498)this.style.width=498;" />

498)this.style.width=498;" />

选择实验#1将引出如下所示的页面:

图13. J2EE 透视图——实验1

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

实验1是一个简单的应用程序,它把 Employee 类的实例序列化成一个文件。在大多数分布式应用程序中,类的序列化是一个基本的活动。在这第一个实验中,Employee 类的所有成员都将进行序列化。然而,正如您将在实验2中看到的,Employee 类中的某些成员对序列化的目的来说可认为是不重要的,它们被标记为瞬态,并且不进行序列化。因此,实验2中的 Employee 类,需要进行的序列化工作将比较少,而且实验2的性能应该会好得多。不过,在运行实验2之前,我们将回到 Profiling Profiling 透视图,以进一步分析实验1的性能特征。

这些性能数据都是自动收集的,但是并不显示出来。选择 Refresh Views 使 Profiler 以最新的数据填充视图:

图14. 概要分析透视图-- Refresh 视图

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

下面的图15展示了 Profiling 透视图中的 Package Statistics 视图。该视图使您能够更全面地了解应用程序中的哪些包需要最多的对象实例和内存。如前所述,一些需要过滤掉的系统级包出现在此视图中。在我们的示例中, acme.business.domain package包是最耗资源的:

图15. Profiling 透视图——Package Statistics 视图

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

下面的图16显示了 Profiling 透视图中的 Class Statistics 视图。该视图展示了应用程序中的哪些类需要最多的对象实例和内存。在下面的视图中,类 ProjectNotTransientEmployee 需要最多的实例和内存,如字段 Total Instances 和 Total Size 所示。Collected 字段指示在全部实例中有多少作为垃圾回收了,又有多少内存由此释放了。因此,在 Active Size 字段显示的该类当前占用的内存数量中考虑了作为垃圾回收的实例。在用于实验1的示例中,我们可以看到(请参见下面的图16), NonTransientEmployeeProject 类需要最多的内存和全部实例中的大多数,其中没有一个显示为作为垃圾回收。

图16. Profiling 透视图——Class Statistics 视图

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

下面的图17显示了 Profiling 透视图中的 Method Statistics 视图。该图展示了哪些方法需要最多的执行时间。它还指示了调用一个方法需要多少时间。Base Time 字段指示运行一个方法需要多少时间,其中不包括花在调用和运行其他方法上的时间。Cumulative Time 字段指示执行一个方法的总时间是多少,其中包括花在调用和运行其他方法上的时间。Calls 字段指示调用特定方法所需的时间。Average Base Time 字段中的值等于 Base Time 字段中的值除以 Call 字段中的值。在用于实验1的示例中,,我们可以看到(请参见下面的图17), writeNonTransientEmployees() 方法尽管在此应用程序中只调用了一次,但是却显然需要最多的执行时间。而且,所有的时间都花在此方法中,而没有用在调用其他的方法上。

图17. Profiling 透视图——Method Statistics 视图

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

下面的图18显示了 Profiling 透视图中的 Object References Table 视图,它显示了对其他类的引用的数量。在下面的图18中,Number of References 字段没有填充。这是 Profiler 中一个已知的问题。

图18. Profiling 透视图——Object References Table 视图

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

既然您已经被引入了关键的 Profiling 视图,就关闭 Profiling 透视图并且停止 WebSphere Test Server ProfileServer。在 概要分析(Profiling)下再一次启动 ProfileServer。选择 profiling.html 页面,然后再一次选择 Profile on Server。尝试对实验2进行概要分析。下面的图19在内部 Web 浏览器中展示了 Experiment 2 的结果。再一次打开 Profiling 透视图,然后打开上面讨论的 Profiling 视图。在大多数情况下,实验的结果将使您确信实验2在内存和执行时间方面提供了更好的性能。

图19. J2EE 透视图——实验2

WebSphere Studio 中的J2EE应用程序概要分析(2)498)this.style.width=498;" />

结束语

本文讨论了 WebSphere Studio Profiler 所用的结构组件,并且向您展示了如何安装、配置和使用 Profiler 来更好地理解应用程序的运行时行为。本文还讨论了如何在 Profiling perspective of WebSphere Studio 提供的各种视图中提交和解释性能数据。后续的文章将描述如何对运行在 WebSphere Application Server 上的远程应用程序进行概要分析以及如何使用 J2EE Request Profiler。

(责任编辑:城尘)


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

WebSphere Studio 中的J2EE应用程序概要分析(2)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

WebSphere Studio 中的J2EE应用程序概要分析(2)

WebSphere Studio 中的J2EE应用程序概要分析(2)[@more@]选择 WebSphere J2EE 过滤器集阻止了代理收集与标准的 J2EE 包有关的数据。而我们想要收集的是与我们正在进行概要分析的应用程序有关的数据。为
2023-06-03

Java应用程序中内存泄漏及内存管理的示例分析

这篇文章主要介绍Java应用程序中内存泄漏及内存管理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!btw,一些静态代码扫描工具也能检测出不好的编程习惯带来潜在的内存泄露的风险。Java平台的一个突出的特性是
2023-06-02

PHP 应用程序性能优化中的日志分析与性能改进

日志分析是应用程序性能优化中识别瓶颈和改进的关键步骤。为了优化缓慢的 php api 端点,需要:启用 php 日志;分析日志以识别错误和警告;优化数据库查询以提高速度;使用 apm 工具持续监控应用程序性能。PHP 应用程序性能优化中的日
PHP 应用程序性能优化中的日志分析与性能改进
2024-05-04

深入解析Android系统中应用程序前后台切换的实现要点

在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识。 我们都知道,一个Activity 可以启动另一个Activity,即使这个Activity是定义在别一个应用程序里的,比如说,想要给用户展示一个地图的
2022-06-06

工业制造领域中绝对值编码器定位程序的应用分析

绝对值编码器是一种用于测量旋转或线性位置的装置,它在工业制造领域有着广泛的应用。本文将重点分析绝对值编码器定位程序在工业制造领域中的应用。首先,我们需要了解绝对值编码器的工作原理。绝对值编码器由一个固定编码器和一个移动编码器组成。固定编码
工业制造领域中绝对值编码器定位程序的应用分析
2024-01-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录