全部版块 我的主页
论坛 数据科学与人工智能 IT基础 JAVA语言开发
1190 1
2024-08-12
一、什么是APM
APM (Application Performance Management) 即应用性能管理(应用性能监控)
APM主要是针对企业 关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量。
旨在确保最终用户获得高质量的体验,降低IT总拥有成本(TCO)
TCO (Total Cost of Ownership ),即总拥有成本,包括产品采购到后期使用、维护的成本。 这是一种公司经常采用的技术评价标准。

二、APM介绍
目前市面的系统基本都是参考 Google 的 Dapper(大规模分布式系统的跟踪系统)来做的。
跟踪业务请求的处理过程,完成对应用系统在前后端处理、服务端调用的性能消耗跟踪,提供可视化的界面来展示对跟踪数据的分析。
通过汇聚业务系统各处理环节的实时数据,分析业务系统各事务处理的交易路径和处理时间,实现对应用的全链路性能监测。

APM工具与传统的性能监控工具的区别在于,不仅仅提供一些零散的资源监控点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。
APM致力于检测和诊断应用性能问题,从而能提供应用预期的服务水平。

三、APM三大特征
1、多级应用性能监控:覆盖通讯协议1-7层,通过事务处理过程监控、模拟等手段实现端到端应用监测。
2、应用性能故障快速定位:对应用系统各个组件进行监测,迅速定位系统故障,并进行修复或提出修复建议。
3、应用性能全面优化:精确分析各组件占用系统资源的情况,并根据应用系统性能要求给出专家建议。

四、APM的目的是什么?
随着中台、微服务、云原生架构的流行,应用系统本身正变得越来越难以管理,终端用户的一次请求往往需要涉及到多个服务,因此服务性能监控和问题排查就变得异常的复杂。不同的服务可能由不同国家,不同团队,和不同编程语言来实现。服务可能部署在成千上万台服务器,跨越不同机房,不同数据中心。

五、APM系统的基本原理主要包括以下几个方面:
1、数据收集:APM系统会从各种源(如服务器、网络设备、应用程序等)收集大量的性能数据,这些数据可能包括CPU使用率、内存使用情况、网络流量、响应时间等。
2、数据分析:收集到的数据会被APM系统进行分析,以识别可能影响应用程序性能的问题,这可能包括识别瓶颈、故障、异常行为等。
3、可视化展示:APM系统通常会提供一个仪表板或类似的界面,以可视化的方式展示应用程序的性能数据,这使得用户可以快速理解和评估应用程序的运行状态。
4、警报和通知:如果APM系统检测到任何可能影响应用程序性能的问题,它会生成警报并通知相关人员,这可以帮助团队快速响应并解决问题。
5、故障诊断和解决:APM系统还会提供一些工具和功能,帮助用户诊断和解决性能问题,这可能包括详细的错误报告、日志文件、堆栈跟踪等。

六、功能列表
多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
轻量高效。无需大数据平台,和大量的服务器资源。
模块化。UI、存储、集群管理都有多种机制可选。
支持告警。
优秀的可视化解决方案。

优势
数据容器为ES,查询支持的维度较多并且扩展潜力大
项目设计采用微内核+插件,易读性和扩展性都比较强
主要的研发人员为华人并且均比较活跃,能够进行更加直接的沟通
拥有完整的APM和调用链跟踪功能

劣势
项目发展非常快,稳定性有待验证
ES数据密度较小,在PB级别可能会有性能压力
缺少自定义指标的设计
有强依赖组件要求 搭建存储(h2,es),集群注册中心(Zookeeper、Kubernetes、Consul、Nacos),自建负载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2024-8-12 14:16:09
资料地址自己还原
/s/1l61AjpifYMUzsnT3HXlRBQ 提取码: v4i8
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群