任何应用监控技术的重中之重一般是针对终端用户的基础架构或组件进行监控。智能工具是测量用户体验的理想工具,由于它们理解应用的运行状况,会自动基准化性能表现,在几乎不产生干扰的状况下解码并创建应用子组件间的关系。html
其实,在测量用户体验时,有两种不一样的性能监控方法:前端
因为这两种方式事实上是互补的,因此没办法简单的说哪一种更好。Eric Shepherd (Gilt 的前端工程师)概括了这两种技术所具有的优点:web
“真实用户监控和模拟监控都能从不一样角度对应用性能进行监控,且具备不一样的功能和针对性。真实用户监控帮助咱们理解应用的长期趋势,而模拟监控能够诊断出并解决短时间的性能问题。”浏览器
在此,笔者对两种监控方式作了一个对比,下面向您介绍两种监控各自的特色:缓存
模拟监控服务器
本质上,有了模拟监控(也称为主动监控),用户能够指定如下监控项目:网络
这是模拟监控测量网站性能的方式(图片来源:Cloud Test)。前端工程师
模拟监控解决方案在告警网站可用性方面很有成效,你能够在访客到达网站以前了解网站出现的问题。若是咱们的系统检测出网站宕机,你可使用各类各样的工具,分析出故障的组件,尽快修复故障,使网站平稳运行。架构
如下是模拟监控的几个特色:工具
1.在控制的环境下进行监控
模拟监控容许用户经过一系列的控制变量(地理位置、网络设备、浏览器、高速缓存或非高速缓存),详细地对网站或应用性能进行监控。同时,它还能帮助用户屏蔽掉真实用户监控产生的海量噪音。其结果是用户能够及时地发现延迟和宕机时间,从而科学地诊断并隔离性能问题的根源。
2.了解第三方的性能
与真实用户监控不一样的是,模拟监控工具能够呈现供应商生成的网站访问的详细图表,这些图表显示了整页的资源加载时间,容许用户将每一毫秒的时间对应上相关的网页内容。例如,用户能够深刻了解到广告供应商切换、内容交付或采用新营销分析插件对性能的影响。
3.基准测试
启动模拟监控不须要任何安装或代码嵌入。随后,用户能够利用模拟工具备效地监控竞争和一段时间内针对关键竞争者的有效基准性能。
4.开发的每一个阶段都可测试
模拟监控可在预生产阶段对网站和 web 应用进行测试。预生产测试结果可用于性能基准,并设置应用运行的警报阈值。
5.7×24小时监控
若是非工做时间或其余低流量周期出现问题,模拟监控可在对用户、收益和品牌效应产生负面影响以前,帮助你快速识别、隔离并解决问题,将损失降到最低。
6.跨地域分析基线和性能趋势
结合模拟监控能够设置基线测试,以还原终端用户访问应用程序的方式。这些基线测试能够在测试多个浏览器和设备访问应用的同时,监测关键事务和地理位置等信息。
真实用户监控
模拟监控经过数据中心的服务器链接你的网站,而真实用户监控却能获取真实用户的访问数据。所以,后者也被称为被动监控。
使用真实用户监控时,你须要指定监控的网站,并将一小段代码插入该网站页面的 HTML 内。这些步骤都很简单快速,配置完毕以后,咱们就会开始收集网站的用户数据。这些数据来自网站的每个页面,而模拟监控只能收集指定的 URL 的数据。
尽管模拟监控优势不少,但有些事情它仍是没法告知你。这也是为何要使用真实用户监控的缘由。真实用户监控不只能提供有关网站性能的更详细数据,还能展现用户从打开网站开始的真实体验。这包括链接类型、浏览器、用户使用的访问设备、他们的地理位置等等。你能看到每一个访客的聚合数据,而不是有限的样本数据。
换句话说,模拟监控告诉你访客可能的网站体验,而真实用户监控让你了解真实的用户体验。
上图展现了真实用户监控服务展示网站性能的几个指标——AjAX性能、页面性能、Apdex等(图片来源:Browser Insight)。真实用户监控会加载整个网站(HTML, CSS,脚本,图片等),而不仅仅是 HTML。这使你获得更多的网站性能数据,对用户体验的了解也更为深刻。
如下是你使用真实用户监控以后,能够了解到的信息:
有了这些真实用户数据,一旦网站出现性能问题,你能够准确找到问题源头。在这种状况下,真实用户监控还可作为模拟监控的预兆,指出应当深刻调查的组件。
总而言之,真实用户监控是衡量网站性能的最佳手段,而模拟监控是检查网站是否可用的最佳方法。同时使用这两种工具,意味着你的网站能为用户提供最优的访问体验。
Cloud Test 是基于云技术的实时监控系统,可以帮你们实时监控网站性能,监控CDN、DNS、API等第三方服务提供商的可用性,实现应用性能及时监测及时报警。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客