如何衡量使用动态异步调用加载页面的Web应用程序的渲染时间?

时间:2011-05-16 14:20:55

标签: ajax performance

我正在尝试衡量目前加载速度很慢的网络应用的性能。 (需要为将来的改进设置基线。)我遇到的问题是我通常使用的工具测量HTML文档的加载时间和/或onLoad事件触发所用的时间。在这种特殊情况下似乎都不合适 - 因为HTML页面基本上是空的,并且以<1秒的速度下载。

此刻的阻止程序是一个动态的json POST,它在页面加载时运行(不要问) - 但是当它激发异步时,除了查看Firebug之外没有用于测量它的钩子(不是很可扩展或易于自动化。)

最感激的任何帮助。

[编辑]我真的在寻找可以作为服务运行的东西 - 如果Pingdom可以做我想做的事情那么完美。挑战在于,我正在寻找的时间基于一个依赖请求,而不是原始的HTML页面请求,我找不到一个工具来为我做。

2 个答案:

答案 0 :(得分:2)

您是否可以在每个ajax返回或使用ajax返回的呈现代码中检查某些内容?如果是这样,只需设置一个简单的民意调查,看看他们是否全部渲染。测试时,元素ID或唯一的xpath表达式可以成为您的朋友。

出于好奇,你在使用Selenium吗? YUI剖析器?萤火虫?

答案 1 :(得分:0)

使用Javascript可以非常简单地获得Ajax请求的加载时间:

var start = +new Date(); // Yeah, that's not a typo
// ajax request
complete: function() {
  // do response stuff
  var rtt = +new Date() - start; // rtt in milliseconds
  // or do response stuff here
}
// ajax request

那你在找什么?

你想用它做什么?把它发回服务器? =)

如果你正在使用一个库,它可能是内置的。如果你正在使用一个库并且它没有内置,你可以自己使用start事件(它们通常有一个)和结束事件(通常“完整”)。