加入收藏 | 设为首页 | 会员中心 | 我要投稿 百科站长网 (https://www.baikewang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

现代应用性能管理深度概览

发布时间:2022-10-22 12:56:38 所属栏目:应用 来源:
导读:  ADP 的高级技术架构师 Nicholas Whitehead 在 IBM developerWorks 上发表了由三部分组成的文章系列,题为 Java 运行时监控。在该系列文章中,他给读者介绍了应用性能管理(APM):

  在第一部分,他研究了
  ADP 的高级技术架构师 Nicholas Whitehead 在 IBM developerWorks 上发表了由三部分组成的文章系列,题为 Java 运行时监控。在该系列文章中,他给读者介绍了应用性能管理(APM):
 
  在第一部分,他研究了 APM 系统的属性,描述了系统监控中的反模式,介绍了监控 JVM 性能的方法,并提供了有效工具化应用源码的技术第二部分中,他讨论了后编译技术工具,特别是拦截、类包装、字节码工具在第三部分,通过讨论应用生态系统的性能和可用性,进行了总结
 
  Whitehead 一开始先讨论了 APM 反模式,这些反模式确定了公司在拼凑监控方案时可能会面对的关键问题。他讲了如下几个反模式:
 
  讨论了反模式之后,Whitehead 介绍了理想的 APM 系统所具备的下列属性(直接摘录于作者的文章):
 
  接下来 Whitehead 详细说明了满足这些需求的技术解决方案。他定义了一组“追踪器”,负责从监控组件获取数据,并将其发送给“性能数据源”。他解释了这些追踪器的特性,它们包括上述那些方面,因为不论指标是基于间隔采样、变量增量、粘性(表示它们不频繁改变)、基于事件、还是灵敏的,这些追踪器能以所收集数据的特性为基础自动发现它们的类型。然后他讨论了常用的收集器模式,比如轮询、监听、拦截。
 
  Whitehead 重新研究了核心 JVM MBeans,以此深入研究了监控的细节,还为收集那些 MBeans 和应用特定的 JMX 数据构造了一个监控框架。随后他将注意力转到了监控类和监控方法,并回顾了四类常用的技术:
 
  展示了如何实施源码工具(第一部分)之后,他确定了评估传入数据的规则和阈值。
 
  在第二部分,他将注意力转到了后编译技术工具。他回顾了如何利用 EJB3 拦截器、Servlet 过滤器拦截器、EJB 客户端拦截器和内容传递,以及 Spring 拦截器来捕获应用的性能指标。他介绍了如何使用 JDBC 驱动、连接、语句、结果集对象的类包装来工具化 JDBC,并由此工具化数据库调用。最后,他介绍了字节码工具(BCI)是怎样工作的,还有 JVM 怎样提供一个标准的机制来通过 javaagent 这一 JVM 启动参数集成 BCI。为了说明 APM 厂商为什么跳过类包装选择 BCI,他给出了如下的性能图:
 
  Whitehead 回顾了对 Java 应用归属的生态系统(也就是操作系统和宿主环境,其中包括数据库和消息基础设施)的监控策略应用性能管理,以此对该系列进行了总结。他讨论了代理监控和无代理监控的挑战和好处,接着深入研究了对 Linux/UNIX 系统和 Windows 系统的监控。他迎接的下一个挑战是数据库监控和上下文跟踪。他描述了 JMS 和消息系统,并说明如何通过合成消息和 JMX 的结合来监控它们。在第三部分结尾处,他讨论了可视化和报告功能,并给出了可视化技术的屏幕快照示例,包括仪表盘。
 
  总之,该文章系列对性能监控进行了介绍和深度纵览,并包括细节层次,让读者理解在现成监控解决方案中的许多技术。
 
  要获取更多关于性能和可伸缩性的信息,请阅读 InfoQ 上的“性能和可伸缩性”页面。
 

(编辑:百科站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!