自动监控用户感知的页面加载时间

时间:2010-11-05 16:58:39

标签: performance web-applications monitoring metrics pagespeed

我想找到一个自动监控服务链接Pingdom和NewRelic,它将跟踪用户感知的总页面加载时间并对其进行分析(ala http://code.google.com/speed/page-speed/docs/rules_intro.html

我已经有绝对外部页面请求时间的pingdom和各种内部性能指标的NewRelic。

我想衡量一个请求和能够使用该页面的用户之间的实际时间,如Firebug,YSlow等所测量的(此处的另一个示例:http://tools.pingdom.com/)。

我正在寻找带有指标报告的全自动服务。我可以通过各种方式自己手动测量,但这只是一个开始。

有什么建议吗?

7 个答案:

答案 0 :(得分:5)

编辑(新产品): 几周前,NewRelic在最新版本中添加了令人印象深刻的页面加载跟踪功能。如果您已经将它用于服务器端监控,则可以轻松启用。它会在测量请求客户端的所有请求上注入跟踪JS脚本。

它有很棒的图形,直接与您的服务器端数据配对,并测量您的实际用户(不是全球范围内的服务器样本)。因此,您可以看到事情实际上如何影响您网站上的请求与假设的基准测试。

这是我们现在在生产中使用的解决方案。

原始答案:看起来http://www.yottaa.com/实现了我正在寻找的东西。

答案 1 :(得分:3)

似乎youtta,如pingdom和其他人,使用“脚本”来测试网站,而不是真正的浏览器?

在我看来(作为网络开发人员),用户感知页面加载时间 = 真实网络浏览器中的加载时间!例如,Javascript可以显着减慢页面加载时间(甚至触发错误),但除非您使用真实的浏览器进行测试,否则您将永远不会注意到这一点。如果您使用Flash或Flex,情况会更糟。如果没有浏览器,applet将永远不会启动。

Keynote Systems和AlertFox正在提供如此真实的浏览器监控服务。后者也有免费计划(见主表下方的链接):http://www.alertfox.com/plans

答案 2 :(得分:3)

如果您想自己动手,那么您可以签出两个库来衡量页面加载效果。

如果您正在寻找交钥匙解决方案,那么您可以尝试使用Atatus来帮助您测量页面加载时间。它还支持AJAX性能监控和事务监控。

https://www.atatus.com

免责声明:Atatus的开发人员

答案 3 :(得分:2)

我知道这是一个比较老的问题,但是我碰到了这个问题,而且似乎比以往任何时候都重要:

  • 2010年平均网页大小为702kb,2016年为2232kb 1
  • …与O.G.大致相同末日安装图像 2 ,但是……
  

排名靠前的网站已结束。。虽然总体平均页面大小无可避免地增加了,但是[…]下表显示了全球平均页面权重与排名前十的网站的关系。 2   
  
  Average Wb Page Weight by Alexa Rank

现在有浏览器内的开发工具可用于审核和量化绩效指标,但现在并没有多少afaik可以随时间显示结果。


我的建议:

SpeedCurve 似乎是在完美地进行此操作,聚合并绘制WebPageTest.org和PageSpeed / Lighthouse Audit快照的图表。从他们的客户列表来看,他们可能在很大程度上也负责这一转弯。

  

SpeedCurve SpeedIndex Benchmarking   
  
  “将您的网站与竞争对手进行比较;跟踪许多指标,包括自定义指标;创建性能预算并获得警报;移动设备仿真和CPU节制;在页面一级诊断性能问题;分析广告对性能的影响以及第三点各方;持续部署和视觉差异;创建和共享自定义图表和仪表板;为不同的受众量身定制仪表板” 3



  1. 网页大小的增长KeyCDN
  2. 网络毁灭了mobiForge
  3. 合成:WebPageTest SpeedCurve

答案 4 :(得分:1)

Montherun在他的评论中列出的那个,Webpagetest.org非常适合您的要求。

如果您想测试来自全球不同位置的客户的网站用户体验,可以使用他们的RESTful APIs拨打HTTP电话。您可以使用HTTP参数设置位置,浏览器类型,网络速度等。您还可以设置参数以返回XML响应,您可以在脚本中解析该响应以生成必要的指标。

另一方面,如果您想要从您控制的某些位置(例如您的远程办公室PC)测试用户表现,您可以在这些位置部署自己的private instance以提供相同的详细信息。它需要为您要运行的每种类型的测试安装自己的专用服务器和客户端代理。

链接中的文档应该足以开始。

答案 5 :(得分:1)

对于本地页面速度测试PhantomJS非常有用。 Phantom是一款无头的webbrowser - 它运行一个没有UI的真实浏览器,并提供了一个可靠的程序界面。对于性能测试,Wesley Hale's loadreport.js 精彩 。我强烈建议在本地开发和CI测试中使用它。

答案 6 :(得分:1)

一个主要警告:问题是用户感知,但询问用于测量页面何时变为活动状态的自动化工具。感知时间通常与实际时间大不相同。

如果您希望页面感觉快,可以使用一些技巧来让事情变得更快,例如确保首先显示最重要的信息,或添加看起来很快的动画。

如果您希望页面控件快速可用,例如对于需要快速且经常填写表单的员工,可以使用不同的技巧 - 既可以加快页面加载速度,又可以确保用户知道控件准备就绪,可以快速找到它们。

无论您的目标是什么,实际页面速度都是一个很好的起点,但它不是唯一的。

以下是对该主题的介绍:http://blog.teamtreehouse.com/perceived-performance