真实用户监控:可靠性标准

时间:2015-12-03 15:24:08

标签: javascript performance monitoring navigator

在衡量网页性能时是否存在可接受的信标数据丢失标准,以及解决这些损失的标准方法?

许多用户没有支持Navigator.sendBeacon的浏览器,甚至该API也无法保证无损报告。

似乎最有可能丢失的数据也是最有趣的数据,在某些方面 - 非常慢的页面,糟糕的互联网连接,不稳定的上传等等。我想知道是否有已知的方法说明这一点。

1 个答案:

答案 0 :(得分:5)

“可接受的损失标准”,这是一个笑话:),如果你引用W3.org 正如他们所说,所有开发人员确保数据正确提交而不会丢失是一个问题。 但你会发现一些技术用于希望一切都能正常工作“没有受助者”:D。 另请阅读this

  

Beacon规范定义了Web开发人员可以使用的接口   用于将用户代理的小HTTP数据异步传输到   一个网络服务器。

     

该规范解决了分析和诊断的需求   通常尝试在之前将数据发送到Web服务器的代码   卸载文件。更快地发送数据可能会导致a   错过了收集数据的机会。但是,确保数据有   在卸载文件期间发送的东西是有的   传统上开发人员很难。

     

用户代理通常会忽略在其中创建的异步XMLHttpRequests   卸载处理程序。解决这个问题,分析和诊断   代码通常会在卸载时生成同步XMLHttpRequest   beforeunload处理程序提交数据。同步   XMLHttpRequest强制用户代理延迟卸载文档,   并使下一个导航看起来更慢。空无一物   下一页可以做到避免这种不良页面加载的感觉   性能

     

还有其他一些技术可以确保提交数据。一   这种技术是延迟卸载以便提交数据   创建一个Image元素并在其中设置其src属性   卸载处理程序。由于大多数用户代理将延迟卸载完成   挂起的图像加载,数据可以在卸载期间提交。   另一种技术是在几秒内创建一个无操作循环   卸载处理程序,用于延迟卸载并将数据提交给服务器。

     

这些技术不仅代表了糟糕的编码模式,还有一些   它们不可靠,也导致页面不良的感觉   加载下一个导航的性能。

相关问题