资讯中心
News
怎么进行网站的真实用户监控(RUM)?
发布时间:2022-09-27 00:00   您所在的位置: 网站首页 > 新闻资讯 > 经验杂谈
RUM的工作名副其实:它观察的是网站的真实访客,记录访客打开页面的速度,然后生成报表。

从这点来讲,RUM会告知你系统能否出问题了,由于你可以通过RUM发现问题以及速度变慢的情况,这些情况你没有开展测试,从而也就不知道能否存在。

何时使用RUM

RUM工具生成两种报表,每种都可以赞助你测量性能及诊断问题。

单个访客报表

有了这样子的报表,就像每个访客都有Firebug一样,你可以对顾客的浏览开展回放,复查每个页面和每个对象,也可以针对单个错误生成报警(例如,假如顾客获得了一个HTP500错误,则给我发邮件”)。



集合报表

这些报表针对所有访客显示发生了什么一什么页面最慢、什么对象出现的错误最多等。可以基于聚合数据和時间段生成报警(例如,假如5分分钟之内平均页面延迟時间间超过5秒钟,则发送一个SNMP陷阱”)。

常见的RUM用例包含

● 复查问题会话,以诊断网站的技术问题。

● 对网站真实访客生成服务水平报表,特别是在运行一个软件作为服务(Sas)的系统时。识别出那些可能必须要越来越多规范监控的部分。

● 相对无法使用综合方法开展测量的部分,如付款页面等,测测量其健康状况

遇到问题即时报警,而不是采用间隔方法,到点儿才报。

RUM的局限

虽然综合工具都大同小异,但客户端的RUM工具,和服务器端的相比,是有非常大差异的。前者依赖于AAX脚本或者嵌入的代理代码(agentcode),在终端顾客浏览网站时,采集他们的信息;后者使用服务器日志、负载均衡器或者网络窃听器从数据中心收集访客信息。

客户端RUM在浏览器中观察顾客体验,故此可以测量像客户端渲染等的延迟。可惜的是,由于只有在页面胜利加载并且在浏览器上运行的时候,客户端RUM才可以加载,故此就无法检测使得其自身无法加载这样子的错误,而且也可能与某些客户端不兼容。更进一步说,由于RUM是在浏览器的沙箱里运行的,故此也就无法看到更为低层的数据,像包丧失情况,也无法计算顾客浏览第一个页面时的主机延迟。

服务器端的RUM的问题正相反。由于独立于浏览器,故此能看到发生的任何事情的详细情况一一乃至是失败的TCP连接次数,然而却看不到浏览器中发生的情况。或许更重要的是,由于服务器端的RUM必须要浏览网络与日志,以及某些情况下的每个物理网络,故此相对托管或基于云计算的环境,就无法部署了。很多商业化的RUM解决方案结合了客户端及服务器端的采集方法来解决这样的问题。

配置RUM

有两个基本流程来配置RUM工具。最先,训练工具以理解网站的流量模式,然后告知工具监视什么重要的信息。

依照定义,一个RUM工具应该能捕提所有进出服务器的流量。对工具开展训练是必要的,由于每个网站全是不同的。对工具开展训练涉及到下边的流程。

1.剔除不必须要的流量。

某些流量你可能不必须要。像网站机器人(bots)、其他的监控工具、网络服务调用以及防火墙之内的流量,所有这些都会让你曲解终端顾客的体验。

2.告知系统如何追踪单个顾客。

所有网站都会使用某种东西来识别单个访客,不论是会话cookie还是URL参数,乃至是IP地址。但在某些RUM实现中一一特别是那些使用客户端脚本的一这些是不必须要的,由于脚本实例运行在每个访客的浏览器中。

3.告知系统如何组装页面。

知道一个页面在哪里结束以及另一个页面在哪里开始,是必须要诀窍的。有一些页面在加载以后可能还会有异步通信(如GoogleSuggest,顾客在搜索框中输入信息时,GoogleSuggest会基于这些信息显示建议)。RUM工具必须要知道什么东西组成了页面的开始与结束,这相对合理地计时以及计算页面数都很重要

4.识别错误。

虽然每个网站都有一部分基本的错误类型(如HTTP500),但也会有一部分定制的页面,看起来跟正常页面一样,但却是出错页面。

一旦工具理解了怎样才算是一次浏览,以及如何测量延迟,你就可以告知它要监视些什么。多数RUM工具在开始时都会有默认的参数:页面、顾客、城市以及服务器全是用来切割数据的好方法,都会向你显示什么最慢,或者什么出错最多。

由于RUM工具要处置大批信息,故此往往只向你显示高层次的数据,除非你特别需求做钻取,例如,进入到网站开发的刚刚发布的那部分,或者显示一个特定的高价值客户。一般来说,每个数据区段都可以用来生成报告,以及产生报警或邮件通知。

本文章由新概念互动原创,如没特殊注明,转载请注明来自:http://www.jianzhan0.com/jingyand/72179.html