快速业务通道

AOP@Work: 用AspectJ进行性能监视,第2部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

装载时织入的简单性的代价是启动应用程序需要更多的时间。我一直与 Alexandre Vasseur 和 Matthew Webster 进行努力,尽量在 AspectJ 5 发布之 前优化装载时织入的性能。开销已经不算大了,我们找到了一些可以加入的优化 。我预计装载时织入性能在下一年仍然会继续进一步优化。同样,这些测试是对 Glassbox Inspector 的 alpha 版进行的。我预计在调优 Glassbox Inspector 和 AspectJ 装载时织入后,开销会显著降低。我计划优化 Glassbox Inspector 以使用 java.util.concurrent 库,使用的方面可以根据系统运 行的是哪种 Java VM,使用多个实现中最有效的一种。

我对 Windows XP 工作站上 2005 年 10 月开发版本的 Aspect J(1.5.0 M4 之后)的服务器启动时间和每个请求的平均时间做了一些简单的测量。这个系统 是 Inspector 的开发版本(alpha 1 之后)。在我的测试中,在 JRockIt 1.5.0_03 Java VM 上运行 Tomcat 5.5.9,并自动启动 iBatis 1.3 JPetstore 、Spring 1.2.1 Petclinic 和 Duke 的 Bookstore 应用程序。

当系统启动后,端到端的响应时间开销很小。50 位用户同时运行在同一台计 算机中时,平均服务器响应时间增加了 10 毫秒。不过,带装载时织入的启动用 了约 15 秒,包括织入时间。对应地,不带织入的启动用了大约 5 秒。最后, 使用装载时织入显著增加了内存开销:有织入与没织入时相比,Java 进程使用 的内存增加了 100%。

表 1 显示了当启用 Glassbox Inspector 并带装载时织入时、部署但禁用了 装载时织入时以及没有部署时,每个请求的开销、净启动时间和内存使用:

表 1. 带装载时织入时的开销
监视 平均端到端 响应时间(毫秒) 服务器启动 时间(毫秒) 启动进程 内存使用(MB)
启用 20 15 135
禁用(在运行时) 10 130
未部署 10 5 65

AOP@Work: 用AspectJ进行性能监视,第2部分(16)

时间:2011-09-07 IBM Ron Bodkin

结束语

在这篇由两部分组成的文章中,我向您展示了如何用 AspectJ 处理复杂的横 切问题(在这里是应用程序监视),并逐步构造解决方案。即使您在下一个监视 解决方案中不选择使用面向方面的方法,这里所讲的许多内容和技巧也会证明是 很有价值的。在我的其他 AspectJ 项目中发现它们显然是很有用的。

就是说,我希望本文提供了使用面向方面的代码进行监视的好例子。与传统 的分散而且纠缠的测试代码相比,我编写的方面非常容易扩展和改编,它们提供 了获得关于生产应用程序的数据的更好方法。如果没有方面,那么实现在这里描 述的复杂功能已经非常困难,更不用说随着对生产应用程序的了解加深而改写它 了。

对 Glassbox Inspector 监视基础架构的开发和分析不会随着本文而结束。 这个项目正在寻求多个领域的贡献,如:

捕获关于所发生情况的更多上下文(例如,堆栈跟踪和参数),特别是像故 障或者不正常响应时间这样的反常结果。

监视更多操作、资源,如 JMS 和 EJB,并扩展 Inspector 对监视 XML 文档 处理的基本支持。

处理分布式监视,以便跨集群应用程序跟踪信息,并跨分布式调用对信息进 行关联。

利用 Java 5 管理信息,如 CPU 时间或者特定于线程的统计。

使用应用服务器 JMX 统计,如线程池。

捕获历史和趋势,带持久化存储和报告。

使用 JMX 提供报警,并提供统计汇总。累积 JMX 统计中关于嵌套的监视器 的关键信息会很有用。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号