以这个(ServerFault)页面为例。它有大约 20 个元素。当最后一个元素加载完成后,页面被视为“已加载”——但在此之前不会。这当然是我们测试服务使用的协议(它是提供此类服务的少数知名供应商之一)。显然,这种方法基于一个明确、明确的端点——因此很容易应用,同时具有可靠性。我认为这也是流行的 Firefox 插件“YSlow”使用的指标。
对于我雇主的网站,最后加载的项目几乎都是跟踪代码、跟踪像素等,因此从用户的角度来看——他们的感知——根据我们的测试服务使用的标准,页面在实际加载之前就已经“加载”了(15-20% 是一个粗略估计)。
我确信我不是第一个考虑这个问题的人,也不是第一个怀疑它是否会导致微优化而忽略整体系统级或用户感知性能的人。所以我的问题是,还有其他更实用(但仍然相当精确)的页面加载时间测量方法吗?
答案1
由于“感知加载时间”而不是“实际加载时间”可以说是最重要的指标,因此很难进行准确和一致的测量,特别是因为它完全取决于感知——而感知可能因用户和相关页面的性质而异。
例如,我经常会打开一个信息页面,这样我就可以很开心地在页面完全加载之前阅读内容。同样,当我想登录任意数量的网站时,浏览器都会存储我的用户名和密码……但通常情况下,在我存储的用户名/密码被浏览器自动填充之前,页面似乎已经加载了几秒钟——显然,页面并没有完全加载。
我的观点是,我能够继续完成我想要做的事情的点部分取决于所讨论页面的性质——我不知道如何自动确定页面在什么时候才被视为可用。
如果您需要一致可衡量的指标,那么您可以坚持使用现有指标。如果您想要更准确的指标(即页面可视为可用的点),则可能需要人工判断。
答案2
我知道有两种很好的工具可以衡量网站性能:
伊斯洛由雅虎和页面速度由谷歌提供。
这些工具将为您提供一个很好的概览,您的页面在哪里花费了时间,并为您提供一些如何做得更好的提示。
这里还有一些关于页面性能的优秀博客:
在这些博客中您可能会获得一些有关网站性能的新观点和想法。
编辑: 这里是一篇讨论性能的文章。
EDIT2:
现在它似乎变得更加重要,因为谷歌也通过速度来计算网页排名:http://searchengineland.com/google-now-counts-site-speed-as-ranking-factor-39708
编辑3:
这里是一个包含来自 google、bing、yahoo、mozilla 和其他一些公司的速度和业务相关数字的页面。
答案3
在我看来,你需要一个脚本来下载网页,但跳过任何链接到基本 URL 之外的内容。这将为你提供页面的加载时间,这对优化来说确实有一定意义。不过,我暂时还不知道有这样的脚本。
答案4
有很多工具可供您使用。当您访问该网站时,您可以花时间下载每个元素并找出速度慢的问题。尝试网络监视器