以这个(ServerFault)页面为例。它有大约20个元素。当最后一个已加载时,该页面被视为“已加载” - 但不是之前。这当然是我们的测试服务使用的协议(它是提供此类服务的一小部分知名供应商之一)。显然,这种方法是基于一个明确的、明确的终点——因此很容易应用 w/伴随的可靠性。我认为这也是流行的 Firefox 插件“YSlow”使用的指标。
对于我雇主的网站,几乎总是最后加载的项目是跟踪代码、跟踪像素等,因此从用户的角度来看——他们的看法——页面在实际加载之前就已经“加载”了根据我们的测试服务使用的标准(粗略估计为 15-20%)。
我确定我不是第一个考虑这个问题的人,也不是第一个怀疑它是否会导致微优化而忽略整体系统级别或用户感知性能的人。所以我的问题是,是否还有其他更实用(但仍然相当精确)的页面加载时间度量?
我知道有两个用于衡量网站性能的好工具:
雅虎的yslow和谷歌的页面速度。
这些工具将为您提供一个很好的概览您的页面花费时间的地方,并为您提供一些提示如何做得更好。
这里还有一些关于页面性能的好博客:
高可扩展性
高性能网站
在这些博客中,您可能会获得一些关于网站性能的新观点和想法。
编辑: 这是一篇讨论性能的文章。
EDIT2:
似乎它现在变得更加重要,因为谷歌也通过速度计算页面排名:http ://searchengineland.com/google-now-counts-site-speed-as-ranking-factor-39708
EDIT3:
这是一个页面,其中包含来自 google、bing、yahoo、mozilla 和其他一些与速度和业务相关的数字。
由于“感知加载时间”而不是“实际加载时间”可以说是最重要的指标,因此很难准确和一致地测量,特别是因为这完全取决于感知——这可能会根据用户和性质而有所不同有问题的页面。
例如,我会经常启动一个信息页面,从而在页面完全加载之前很久就可以愉快地阅读内容。同样,当我想登录任意数量的网站时,浏览器会存储我的用户名和密码......但通常,在我存储的用户名/密码被浏览器自动填充之前,页面似乎已经加载了几秒钟 -显然,页面似乎没有完全加载。
我的观点是,我可以继续我想做的事情的点部分取决于相关页面的性质 - 我看不出您如何自动确定页面可以被认为是可用的点。
如果您需要一个始终如一的可衡量指标,您可以坚持现有的。如果您想要一个更准确的指标(页面可以被视为可用的点),则可能需要人工判断。
在我看来,您需要一个脚本来下载网页,但跳过与基本 URL 之外的内容相关的任何内容。这将为您提供页面的加载时间,这实际上意味着优化方面的一些东西。不过,我不知道这样的脚本。
它不是一个黑白问题IMO。对于您在具有宽带连接和现代 Web 浏览器的快速 PC 上的您而言,就“感知页面加载时间”而言,等待一些辅助元素加载可能不是什么大问题。对你来说,差异是微不足道的。
但是对于在公司分支机构中拥有由 100 人共享的绑定 T1 的人来说,通过集中式代理运行 Internet Explorer,该代理在每次页面加载时都通过安全设备(如 McAfee、WebRoot、Finjan 等)运行所有内容,情况就不同了. “页面看起来已加载”与实际加载时间之间的差异可能需要几秒钟——这很重要。有时,在所有内容加载完成之前,安全设备不会传递页面。
您应该要求您的开发人员或供应商提供优质服务。如果加载一个网络广告需要 5 秒,那么访问者的眼球前面就没有广告。
有很多工具可供您使用。当您访问该网站时,您可以获得时间下载每个元素并找出缓慢的问题。试试网络监视器