以此(ServerFault)页面为例。 它有大约20个元素。 当最后一个被加载时,该页面被认为是“加载”的 – 但不是之前。 这当然是我们的testing服务所使用的协议(它是提供这种服务的一小部分知名供应商之一)。 显然,这种方法基于一个明确的,明确的终点 – 因此很容易应用w /伴随的可靠性。 我认为这也是stream行的Firefox插件“YSlow”使用的指标。
对于我的雇主的网站,几乎总是最后加载的项目是跟踪代码,跟踪像素等,所以从用户的angular度来看 – 他们的感觉 – 页面在实际加载之前被“加载”根据我们testing服务所使用的标准(15-20%是粗略估计)。
我相信我不是第一个考虑这个问题的人,也不是第一个怀疑它是否会导致微观优化而忽略整个系统级或用户感知性能的人。 所以我的问题是,还有其他更实用(但仍然相当准确)的页面加载时间的措施?
由于它是“可感知的加载时间”而不是“实际加载时间”,可以说是最重要的度量标准,所以难以准确一致地进行测量,具体而言,因为这一切都取决于感知 – 这可能根据用户和性质页面的问题。
例如,我会经常启动一个信息页面,在页面完全加载之前,我可以愉快地阅读内容。 同样,当我想login到任何数量的网站,我有我的用户名和密码存储在浏览器…但经常,页面似乎已经加载了几秒钟,我的存储的用户名/密码是由浏览器自动填充 – 显然这个页面看起来并没有完全加载。
我的观点是,我可以根据自己想要做的事情取得进展,这部分取决于相关页面的性质 – 我不知道如何自动确定页面可以被视为可用的点。
如果你需要一个可衡量的标准,你可以坚持你所拥有的。 如果你想要一个更准确的度量(一个页面可以被认为可用的点),这可能需要人为的判断。
我知道有两个很好的工具来衡量网站的性能:
yslow由yahoo和页面速度由谷歌。
这些工具将给你一个很好的概述你的网页花费的时间,并给你一些提示如何做得更好。
这里也有一些关于网页性能的好博客:
高可扩展性
高性能网站
在这些博客中,您可能会获得关于网站性能的一些新的观点和想法。
编辑: 这是一篇讨论表演的文章。
EDIT2:
现在似乎变得更加重要,因为谷歌计算页面的排名也是由速度: http : //searchengineland.com/google-now-counts-site-speed-as-ranking-factor-39708
EDIT3:
这里是一个网页与数字相关的速度和业务从谷歌,BING,雅虎,Mozilla和其他一些。
听起来像你需要一个脚本来下载网页,但跳过任何链接到基本URL以外的东西。 这会给你的页面加载时间的方式,实际上意味着什么就优化。 虽然我不知道这样的脚本。
它不是一个黑色和白色的问题海事组织。 对于使用宽带连接和现代networking浏览器的快速电脑,在“感知页面加载时间”方面,等待某些次要元素加载可能不是什么大问题。 对你而言,差别是微不足道的。
但是对于一个拥有100人共享T1的公司分支机构的人来说,通过一个集中代理来运行Internet Explorer,通过一个安全设备(如McAfee,WebRoot,Finjan等)在每个页面加载运行所有事情,事情是不同的。 “页面看起来加载”和实际加载时间之间的区别可能需要几秒钟 – 这是一个大问题。 有时安全设备将不会传递页面,直到一切完成加载。
您应该要求您的开发人员或供应商提供优质的服务。 如果以5秒的时间载入networking广告,则在访问者的眼球前面没有广告。
有很多可用的工具。 当你访问网站时,你可以得到下载每个元素的时间,并找出缓慢的问题。 尝试networking监视器
除了使用Yslow之外,请查看Firebug的“Net”选项卡 。
替代文字http://www.softwareishard.com/firebug/introduction/net-panel/overview-thumb.png
蓝线显示DOMContentLoaded事件发生的时间。 此时浏览器可以开始渲染页面。 您可以将其用作加载时间的度量。
此外,通过Firefox的networking监视器和Safari的资源跟踪器,您可以查看各个请求,并且可以轻松查看是否需要更长时间,例如Google Analytics(分析)。 如果是这样,则从总加载时间中请求折扣。