我正在尝试衡量目前加载速度很慢的网络应用的性能。 (需要为将来的改进设置基线。)我遇到的问题是我通常使用的工具测量HTML文档的加载时间和/或onLoad事件触发所用的时间。在这种特殊情况下似乎都不合适 - 因为HTML页面基本上是空的,并且以<1秒的速度下载。
此刻的阻止程序是一个动态的json POST,它在页面加载时运行(不要问) - 但是当它激发异步时,除了查看Firebug之外没有用于测量它的钩子(不是很可扩展或易于自动化。)
最感激的任何帮助。
[编辑]我真的在寻找可以作为服务运行的东西 - 如果Pingdom可以做我想做的事情那么完美。挑战在于,我正在寻找的时间基于一个依赖请求,而不是原始的HTML页面请求,我找不到一个工具来为我做。
答案 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事件(它们通常有一个)和结束事件(通常“完整”)。