我希望监控我们网站的最终用户体验,并将其与已记录在服务器端的计时信息相关联。我的假设是,这需要javascript在请求开始时(window.onbeforeunload)和加载结束时(window.onload)捕获时间戳。基本上这是 - “Measuring Web application response time: Meet the client”
答案 0 :(得分:13)
雅虎还有Boomerang。
Jiffy和Episodes中没有一些高级功能。在支持它的浏览器中支持Navigation Timing API(Chrome 6,IE 9)
答案 1 :(得分:8)
为了完整性'此外,您现在可以在某些现代浏览器中使用导航计时API:https://developer.mozilla.org/en-US/docs/Navigation_timing
function onLoad() {
var now = new Date().getTime();
var page_load_time = now - performance.timing.navigationStart;
console.log("User-perceived page loading time: " + page_load_time);
}
第三方编辑
基于caniuse.com navigation timing今天(2016年10月)得到广泛支持
答案 2 :(得分:7)
EDIT(2013):尝试Boomerang,就像@ yasei-no-umi建议的那样。它得到了积极的维护。
- 旧答案 -
我们使用Jiffy。
使用和修改非常简单 - 我们编写了自己的服务器端代码(而不是Jiffy的Apache + perl)并使用了Jiffy的JS。
关于性能损失 - 客户端没有一个。 JS本身非常快,并且在页面加载后可以使用XHR完成向服务器的报告,这不会影响用户体验。在服务器端,您将获得两倍的请求。如果这是一个瓶颈,你可以为时序响应设置一个不同的服务器。
答案 3 :(得分:3)
如何使用yslow(firefox扩展名)?
答案 4 :(得分:2)
答案 5 :(得分:1)
我们在页面中有一个“回调”(1x1透明GIF图像,其中一个参数表示页面渲染的ID),该页面将“已查看页面”记录到我们的数据库中。这是与页面本身记录的ID相同的记录,并且在渲染完成时我们有一个日志条目。
所以我们有时间:
帮助理解“慢”(CPU或ISP /带宽)
的客户端P.S。不会打电话回家的页面渲染也很有意义 - 用户点击(假设该会话中的其他页面渲染确实录制了电话主页)
答案 6 :(得分:-1)
我对这些方法很怀疑。其中一些方法比必要的更复杂,我质疑这些数据的准确性。我要做的是让测试人员去各种网络并使用类似Firebug的东西:
哎呀;这是一篇最近提交给SOSP的有趣文章,名为AjaxScope。有趣的是,这是一篇由MS Research提供的学术文章,显示Firefox的Javascript实现在少数情况下比Internet Explorer表现好多倍。 :)
答案 7 :(得分:-1)
我们倾向于使用以下组合:
火狐: Web Developer Toolbar Firebug YSlow
IE: Fiddler
在所有这些中,我发现YSlow提供了有关如何改善加载时间的最佳信息,但Fiddler提供了有关您可以通过线路获得的最佳信息,甚至可以模拟不同的信息网络速度。