一.前言

理解用户体验是从终端用户角度了解应用交付质量的关键,这是考量业务健康运转的潜在因素。捕获此类数据的方法各种各样,具体的实现途径由应用、基础设施架构以及管理者和管理过程决定。

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

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

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

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

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

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

三.终端 APM 产品使用建议

  • 根据当前或计划的基础设施变更,以及采用的基于云或分布式应用,来选择终端用户体验监控产品针对这些情况监控端点。
  • 仅当现有网络性能监控或应用性能监控(APM)的投资不能满足新要求时才投资新工具,而且,最好选择一家厂商的产品,这样才不会因为厂商的差异性导致使用的不便利,而且,同一家提供商的产品也更有互补性
  • 多调查那些提供多种监控方法和使用新兴端点监控功能的供应商,这样能确保你的产品的稳定性以及可靠性。现在国内外 APM
    产品提供商比较有代表性的有:OneAPMNewRelicAPPdynamicDynatrace 等。

四.模拟+真实

近年来,实施综合监控一直备受吹捧,鉴于其可通过网络应用来了解用户体验,而且未发现中断。循环检测和进行额外监控多年来已是 IT 操作中存在的一个事实。解决这种递归循环的方法即引入终端用户体验监控,通过监控穿越网络的数据来实现。该解决方法具有可见性,能进行检测,而之前通过模拟方法则无法实现。随着 CDNs的发展,基于云的服务和蜂窝连接会引起 datacenter-bound 技术在终端用户体验可见性方面存在漏洞。

在 2008 年发布的 Episodes 论文中,一种基于浏览器事件的测量方法为问世,随后即被 APM 供应商采用以满足终端用户体验监控需求。在这两种选项中,Gartner 看到企业根据不同业务类型来选择解决方案,甚至在单个企业中会采用两种解决方法,这也就是我们上文提到过的「模拟性能监控+真实用户体验监控

使用更先进的监控工具之前,已通过元件监控产品检查具体基础架构组件发现了问题。市场的发展允许实施脚本化的事务处理,使用应用来「模拟」个体。通过该技术形成一个循环,这样 IT 运营团队在用户上传问题后就可对其进行监控。不过通过这些方法无法对个体使用应用时所发生的每个动作进行全方位的监控。这种可见漏洞促使这两种常用方法逐步完善,以通过应用来监控实际的用户交互。

五.总结

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

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

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

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

APM 终端用户体验监控分析(上)的更多相关文章

  1. APM终端用户体验监控分析(下)

    一.前言 [APM 终端用户体验监控分析(上)][1]从 APM 终端用户产品特性.使用建议.以及从[真实用户体验][2]和[模拟性能监控][3]两方面入手给大家进行了简单的分享. 本文为下篇,将给大 ...

  2. 微服务、分库分表、分布式事务管理、APM链路跟踪性能分析演示项目

    好多年没发博,最近有时间整理些东西,分享给大家. 所有内容都在github项目liuzhibin-cn/my-demo中,基于SpringBoot,演示Dubbo微服务 + Mycat, Shardi ...

  3. nagios-解决监控页面上的乱码

    1. 前景 在nagios的监控页面上发现返回来的信息为乱码,如下图所示: 查看相关日志,发现正常显示汉字,如下: 2. 解决方法(以下两个步骤缺一不可) 主要原因分析如下: 在nagios服务器上发 ...

  4. JDK自带的监控分析工具JConsole

    非常多开发人员认为自己懂Java编程.事实是大多数开发人员都仅仅领会到了Java平台的皮毛.所学也仅仅够应付工作. 作者将深度挖掘Java平台的核心功能.揭示一些鲜为人知的事实.帮助您解决最棘手的编程 ...

  5. (转载)Java多线程的监控分析工具(VisualVM)

    原文链接:http://blog.csdn.net/chendc201/article/details/22905511 在Java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的 ...

  6. Linux操作系统监控分析

    性能分析点:1. 负载机2.网络传输3.硬件4.应用程序线程池5.数据库连接池6.代码业务逻辑7.数据库sql执行时间8.jvm(GC) 操作系统硬件:cpu:计算.逻辑处理:CPU的颗粒数越多,CP ...

  7. Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器

    目录(?)[-] 一VisualVM是什么 二如何获取VisualVM 三获取那个版本 四VisualVM能做什么 显示JAVA应用程序配置和运行时环境 显示本地和远程JAVA应用程序运行状态 监控应 ...

  8. Linux性能监控分析命令(五)—free命令介绍

    性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...

  9. Linux 监控分析

    一.硬件基础 Cpu   逻辑的处理.计算.判断 现代分时多任务操作系统对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms, 再又是A进程占10ms,B进 ...

随机推荐

  1. jquery.validate新的写法(jquery.validate1.13.js)

    <script src="../js/jquery.js"></script> <script src="../js/jquery.vali ...

  2. Python脚本控制的WebDriver 常用操作 <三> 浏览器最大化

    下面将模拟执行一个控制浏览器最大化的操作 测试用例场景 当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选. 举 ...

  3. LaTeX插入jpg图片: 使用graphicx

    首先要包含宏包 \usepackage{graphicx} \begin{figure}[ht!] \centering \includegraphics[width=90mm]{fixed_dome ...

  4. SQL语句基础之 管理数据库,表 和 数据

    MySQL中的基本sql语句 MySQL中主要有三个大的对象,第一个是数据库,有了数据库后,我们才能在数据库里面建表,因为Mysql是关系数据库,它的数据都会以记录的形式存到表里,所以第二个是表,然后 ...

  5. VC中实现GCC的2个比较常用的位运算函数

    在GCC中内嵌了两个位运算的函数,但在VC中并没有这两个函数(有相似函数). //返回前导的0的个数. int __builtin_clz (unsigned int x) //返回后面的0个个数,和 ...

  6. 应用程序域(Application Domain)

    应用程序域为隔离正在运行的应用程序提供了一种灵活而安全的方法. 应用程序域通常由运行时宿主创建和操作. 有时,您可能希望应用程序以编程方式与应用程序域交互,例如想在不停止应用程序运行的情况下卸载某个组 ...

  7. Go循环引用问题

    在Go中,不支持循环引用,即package a引用了packageb以后,package b就不能引用package a了. 最简单的场景: package a中定义context.go用来保存上下文 ...

  8. “后PC”时代来临

    “后PC”时代来临 数年前,喜达屋酒店及度假村国际集团将总部搬迁至美国康涅狄格州斯坦福,这也让公司首席执行官Frits van Paasschen有机会“除尘换新”. 那么,Frits van Paa ...

  9. EF之高级查询

    首先我们来看看一个页面 这里面有多选的条件,大于,小于等等,包括每个字段都有 如此多的查询条件,我们的后台该如何实现呢? 难道我们还得每个参数都去判断吗? 那得传多少参数进来才能实现这个页面的功能啊! ...

  10. HMMPfam的安装使用手记(转载)

    转载至:http://blog.sina.com.cn/s/blog_3f6403290100rb61.html(感谢原文作者) HMMPfam的安装使用手记前言 简要介绍一下 HMMPfam吧.这还 ...