本文我们开始介绍一个新的领域 APM,也是字节码技术成功应用的典型案例。将分为两大部分:APM 的基础概念和分布式跟踪的理论基础。
什么是 APM
APM 是 Application Performance Managment 的缩写,字面意思很容易理解,"应用性能管理",它是由 Gartner 归纳抽象出的一个管理模型。近年来 APM 行业被越来越多的企业所关注,尤其是在 2014 年末,NewRelic 的成功上市,更加激发了人们对这个行业前景的无限遐想。国内崛起的听云、OneAPM,以及最近微信和 360 团队刚开源的安卓端 APM,使 APM 遍地开花。下面是大名鼎鼎的skywalking APM监控采集到的数据
我们为什么需要 APM
影响用户体验的三大环节:
-
前端渲染
-
页面加载时间 -
DOM 处理时间 -
页面渲染时间 -
首屏加载时间
-
网络传输
-
DNS 解析时间 -
TCP 建连时间 -
网络传输时间 -
SSL 握手时间
-
后端服务
-
SQL 执行时间 -
缓存读写时间 -
外部服务调用时间
每一个环节都有可能有性能的问题,我们需要做的是把性能做到可度量、指标化
我们需要做什么
针对我们刚提到的三大环节,我们可以针对性的来看下每个环节我们可以做些什么