APM 终端用户体验监控分析(上),很多公司以及

什么是真正的APM?(1)

近年来APM行业被越来越多的企业所关注,尤其是在2014年末,NewRelic的成功上市,更加激发了人们对这个行业前景的无限遐想。那么究竟什么是APM?APM的目的是什么?要求我们做什么?有不少企业对APM的理解其实是有偏差的,本文将向您阐述一个真正完整的APM概念。

APM 是Application Performance Managment的缩写,字面意思很容易理解,“应用性能管理”。它是由Gartner归纳抽象出的一个管理模型。注意,这个管理模型的由来,是经过大量调研与分析后的归纳与抽象,这些切实需求由来已久,IT从业者们对它的理解与实践也几乎是从IT诞生至今就已开始,这并不是一次发明。

图片 1

从上图中可以清楚看到APM模型中一共分了五个层次,下面就这五个层次逐一说明。

1. End User Experience

What:终端用户体验。APM首先关注的是终端用户对应用性能的真实体验。

Why:不是监测点的,也不是骨干网核心机房的,而是真实用户的切实体验到的性能。可能一个电影播放服务的性能优化做得很棒,但是用户打开浏览器或打开APP,发现点播某个电影时却慢得离谱,问题会出在哪里呢?用户不清楚点击播放按钮之后,发生的一切事情,用户只是感知到了慢、不能播放、往复播放等等很多不好的体验,用户反馈了问题或投诉了,产品和研发不能准确重现,问题来了。

也许用户浏览器太过陈旧,也许是某个JS脚本的兼容性问题,也许用户本地网络丢包严重、首字节响应时间很长,也许是服务器集群网络不稳定、某组机器脱离了均衡池…… 太多也许了。而这些猜测是,最不好把控的,就是用户客户端环境,Server端好比自家的菜地,菜好菜赖总是清楚的,可再好的菜卖到饭馆,厨子怎么样菜农怎么知道?

帮助应用管理者准确、详尽地了解真实的用户体验是什么样子,这是APM首先要解决的问题。

How:对于Web应用来说,在用户请求到的每一个页面下面追加一段js脚本,用js收集并发回数据,是最普遍的做法;对于移动App来说,在APP发布前build进SDK,通过系统与语言Hook来收集数据,也是很直截了当的。至于这二者具体的做法,容后文再细聊,此篇不赘。下列简单截取了几张图片,来源透视宝。

图片 2 

图片 3 

图片 4 

图片 5 


图片 6


) 近年来APM行业被越来越多的企业所关注,尤其是在2014年末,NewRelic的成功上市,更加激发了人们对这个行业前景的无限...

五.总结

本文从现有的终端用户 APM 产品入手,向大家介绍了比较常见的几款 APM 产品,并分析了对于终端用户体验监控的使用建议等。在本系列文章的下篇中,会重点介绍基于网络数据包捕获方面的的产品以及浏览器标准对于终端用户体验监控的巨大补充。

Cloud Test 是基于云技术的实时监控系统,能够帮大家实时监控网站性能,监控 CDN、DNS、API 、事务监控等第三方服务提供商的可用性,实现应用性能及时监测及时报警。

想阅读更多技术文章,请访问OneAPM 官方技术博客。

本文编译自 Gartner 研究报告《End-User Experience Monitoring in APM: Past, Present and Future》

二.终端用户监控主要产品特性

  • 基于网络的数据包捕获技术和各种端点检测方法一样,均为有效的监测技术,可以用来捕获用户体验。现在国内的拨测技术就是基于这个技术,通过在全国各地的
    IDC 点来拨测被监控网站,测试其可用性和丢包率等参数,该产品国内外比较有代表性有:OneAPM
    CloudTest、NewRelic、APPdynamic

这类产品主要通过监控网站、CDN、DNS 等的可用性、错误率等指标来确认网站的正常运行,下图是一款拨测产品的主界面视图,仅供大家参考
图片 7

  • 基于网络数据包捕获的有效部署途径会因关键位置聚集网络流量的能力而变化。
  • 用基于标准语言写的富客户端应用需要进行额外监测。随着浏览器和其他端点监控能力的增强,客户端监控的有效性将增强,同时基于网络的数据包捕获技术将受到限制。这个时候就需要基于真实用户体验的监控软件进行补充了,这种软件就是以页面插入
    js 代码的方式来实时抓取访问页面的用户的时间节点,来计算各种响应时间。

这类型的产品使用往往需要一些工作量,需要向页面插入代码,没有上面说过的 Cloud Test 这类产品这么方便,但是看在确实能看到真实的用户体验,这点儿时间花的还是值得的,国内外该类产品里面比较成熟的有:Browser Insight、Dynatrace、Newrelic 等

该类产品一般都是通过浏览器端的各个维度来评价终端用户的体验的,维度比较多,但是产品上手比较困难,一般需要有相当前端经验的人员才能快速适用,下图是上面说过的Browser Insight产品的纵览界面,供大家参考:
图片 8

二.性能监控工具的推广难在哪里?

1.性能监控领域的主要问题

  • 模拟监控与测试简单易懂,部署起来很方便,容易实现,不涉及代码权限的问题,但只从这一个渠道获得数据,并用于评定应用性能显然不是正确的视角。

  • 虽然真实用户体验监控工具正在优化其部署方法,但,最基本的运维权限甚至修改页面代码的限制,确实制约了其普及的力度。

  • 许多公司缺少真实用户监控意识,不了解什么是「真实用户体验」,常常错误地将模拟监控完全等同于应用性能监控管理(APM)

2.相关建议

  • 实施真实用户监控技术,安装包含多种 APM 维度的探针(具体的介绍在文章后面有),如果探针无法安装或风险太大,则部署网络监控。

  • 不要为了评定应用性能而部署过多模拟监控,模拟监控主要是从可用性的角度来监测的,好的优化团队应该从真实用户数据中找到可优化点,从而打破检测与监控的循环。

  • 控制模拟监控的人员与资金投入,而将资源投入到更有价值的活动中,如真实用户体验监控。

  • 将模拟监控用于 SLAs (服务水平协议)基准测试,以及适合的性能监控案例,诸如第三方应用组件、API接口、Ping值的性能测试。

图片 9

模拟监控和真实用户体验监测,选哪个?

3.战略规划设想

之前在 Gartner 看到过相关数据,未来互联网对应用性能的需求一定会逐渐超过对应用可用性的需求,并且在 2015 年,模拟监控占性能监控使用量的百分比减少 30% ,并且将来会进一步下降。

五.总结

从以上分析可得,真正看重应用性能的公司,应当把时间与金钱更专注于真实终端用户角度,而不是模拟监控能带来的可用性测量,并且模拟事务监控应该用于测量应用与第三方组件或服务的可用性。

模拟监控自然有其巨大价值的存在,并且接下去的一段时间,模拟监测的其他使用案例必定会不断涌现,比如,将模拟测试与其他数据源结合,能实现对应用性能更多维度的理解。这些解决方案的主要目标是使面向大量终端用户的应用程序能顺利交付,而且,应用交付与内容传递在全球范围内的监控对大多数公司而言都至关重要。

注:本文原作者为 Gartner 分析师 Jonah Kowall,由 OneAPM 产品运营编译整理

Browser Insight 是一个基于真实用户的 Web 前端性能监控平台,能够帮大家定位网站性能瓶颈,网站加速效果可视化;支持浏览器、微信、App浏览 HTML 和 HTML5页面。想阅读更多技术文章,请访问 OneAPM 官方技术博客。

本文转自 OneAPM 官方博客

二.终端用户监控主要产品特性

  • 基于网络的数据包捕获技术和各种端点检测方法一样,均为有效的监测技术,可以用来捕获用户体验。现在国内的拨测技术就是基于这个技术,通过在全国各地的
    IDC 点来拨测被监控网站,测试其可用性和丢包率等参数,该产品国内外比较有代表性有:OneAPM
    CloudTest、NewRelic、APPdynamic

这类产品主要通过监控网站、CDN、DNS 等的可用性、错误率等指标来确认网站的正常运行,下图是一款拨测产品的主界面视图,仅供大家参考

图片 10

APM 终端用户体验监控分析(上)

  • 基于网络数据包捕获的有效部署途径会因关键位置聚集网络流量的能力而变化。
  • 用基于标准语言写的富客户端应用需要进行额外监测。随着浏览器和其他端点监控能力的增强,客户端监控的有效性将增强,同时基于网络的数据包捕获技术将受到限制。这个时候就需要基于真实用户体验的监控软件进行补充了,这种软件就是以页面插入
    js 代码的方式来实时抓取访问页面的用户的时间节点,来计算各种响应时间。

这类型的产品使用往往需要一些工作量,需要向页面插入代码,没有上面说过的 Cloud Test 这类产品这么方便,但是看在确实能看到真实的用户体验,这点儿时间花的还是值得的,国内外该类产品里面比较成熟的有:Browser Insight、Dynatrace、Newrelic 等

该类产品一般都是通过浏览器端的各个维度来评价终端用户的体验的,维度比较多,但是产品上手比较困难,一般需要有相当前端经验的人员才能快速适用,下图是上面说过的Browser Insight产品的纵览界面,供大家参考:

图片 11

APM 终端用户体验监控分析(上)

五.总结

本文从现有的终端用户 APM 产品入手,向大家介绍了比较常见的几款 APM 产品,并分析了对于终端用户体验监控的使用建议等。在本系列文章的下篇中,会重点介绍基于网络数据包捕获方面的的产品以及浏览器标准对于终端用户体验监控的巨大补充。

Cloud Test 是基于云技术的实时监控系统,能够帮大家实时监控网站性能,监控 CDN、DNS、API 、事务监控等第三方服务提供商的可用性,实现应用性能及时监测及时报警。

想阅读更多技术文章,请访问OneAPM 官方技术博客。

本文编译自 Gartner 研究报告《End-User Experience Monitoring in APM: Past, Present and Future》

四.模拟监测的主要价值——应用可用性

广泛地将模拟测试用于确保应用性能其实是误用,模拟测试主要是抓取重大的应用或组件故障。当模拟测试显示应用响应能力的偏差时,并不能指明真实用户受到的影响,甚至无法判定主要问题出在哪儿,因为用户交互上的不顺利或运行失利往往无法通过该技术检测出来。该技术唯一的正确用途是检查应用或服务的可用性,或系统问题的根本原因分析(root cause analysis,RCA)。尽管模拟测试可用于根本原因分析,APM 技术却能提供粒度更细致的根本原因分析。

模拟交易用于检测可用性与性能的一个理想化案例是测量应用的第三方组件(API 监控)。当代应用引入的组件往往包含社交媒体功能,例如:脸书的点赞按钮,Google+的“+1”按钮或推特的转发功能。这些组件在页面渲染时可能导致缓慢。而缓慢的原因很难使用真实用户监控技术准确定位。

不幸的是,使用真实用户数据测量并建立 SLAs 困难重重,真实用户数据往往受基础架构与运营团队无法控制的因素曲解。相比之下,模拟测试却能清楚反应不可用的应用或服务。

将模拟测试用于 SLA 测量的基准也是很好的使用案例。然而,不要只关注于模拟测量,了解真实用户体验仍是测量应用使用情况最重要的指标。

终端用户模拟监控,也就是国内俗称的「云拨测」,其低廉的价格以及便捷的部署方法加快了模拟监测的普及速度,但同时也导致了一些误用:很多公司以及用户将模拟监控当做用户的真实访问情况,监控出来的数据很棒,但是用户的投诉却一直不断。

本文由必威发布于必威-运维,转载请注明出处:APM 终端用户体验监控分析(上),很多公司以及

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。