天天看点

应用性能管理与链路追踪的关系

应用性能管理APM(Application Performance Monitoring)经常和分布式追踪同时出现,但两者却有着明显的差异。APM由来已久,已经有十几年的历史,自最早的以WebLogic为代表的J2EE应用出现开始,APM就逐步受到了各大厂商的重视,并作为商业软件的组成部分被提供出来。

APM系统为单体式应用和分布式应用提供了全面的可视化展现建议、性能分析建议、性能诊断和优化建议,为开发团队、运维团队提供了常规监控体系之外的保障。随着分布式应用监控难度的增加,应用性能问题的发现和定位变得越来越困难。

在分布式系统中,传统的以日志为主的监控正在越来越多地被用来进行基础设施、网络环境的监控。而在应用层面上,日志监控基本失去了定位问题的能力,尤其是上云之后,网盘逐步成为主流,日志的有效性问题、写入压力和成本问题凸显出来。

这便对 APM 系统提出了越来越高的要求,分布式追踪、非侵入式的语言探针、轻量化、低延迟分析,这些都是对新时代APM提出的基本要求,也是对传统APM系统的挑战。

  • 分布式追踪

分布式追踪能完成日志监控的绝大部分功能,提供更好的使用内存而非文件系统,解决性能定位问题。Google、Twitter等各大公司都在这个领域投入了极大的精力。

  • 非侵入式的语言探针
  • 轻量化
  • 低延迟分析