什么是 Page Speed?
Page Speed 是开源 Firefox/Firebug 插件。网站管理员和网络开发人员可以使用 Page Speed 来评估他们网页的性能,并获得有关如何改进性能的建议。
Page Speed是如何工作的?
Page Speed 对网站的网络服务器配置和前端代码执行若干测试。这些测试基于一组已知可增强网页性能的最佳实践。在网页上运行 Page Speed 的网站管理员会获得一组针对各网页的分数,以及有关如何改善网页性能的有用建议。
为什么要使用 Page Speed?
- 利用 Page Speed,您可以:
- 使您的网站更快速;
- 使互联网用户始终关注您的网站;
- 减少您的带宽成本和托管成本;
- 改善网络!
首先“下载Page Speed”插件进行安装(需要firebug的可在这里本地下载)。
在运行Page Speed这个工具时,它会基于页面的状况生成分析结果。为了确保最精确的分析结果,你最好在页面完全载入完成后再运行Page Speed。 否则,Page Speed无法分析那些还没有载入的资源的情况,或者你可以选择激活,当载入完成后自动运行选项 而让Page Speed在任何页面载入完成后自动进行分析。 具体可参照下文:
访问你需要进行分析的页面。等到浏览器状态栏里显示完成,并且进度条消失的时候开始使用Page Speed,如果页面上因为有流媒体视频而没有显示完成信息的情况下,等到视频开始播放时就可以开始使用Page Speed了。
点击性能分析(Analyze Performance),当页面分析完成时,Page Speed会显示 网页性能最佳实践 的列表和当前页面针对每项结果的得分, 结果是按照当前页面的重要性和优先级排列的。
接下来就可以做以下这些事情了:
对于Page Speed性能得分的注解
对于每个规则,Page Speed都会给出针对性的改进建议,并且会给当前页面一个基于一些因素的算法的”分数”,当然它也会给出当前页面的一个整体性能得分。
对于每个规则得分的注解
对于每个规则,都会有两种得分: 一个100以内的数字分数;和一个绿、黄、红的颜色分数,数字分数是一种原始得分,用来标注当前页面在当前规则下的表现, 得分基于某些量化的维度,例如:DOM元素的总数、 或者下载的文件数、颜色分数是综合了数字得分和该条规则的权重,这是一个综合了潜在影响因素和实施难度的复合参数。这就意味着没有数值得分和颜色得分之间一对一的对应关系,比如,一个得分是0/100的情况转换到颜色得分是是一个黄色的颜色分值,如果该条规则的权重没有那么高的话。因此,你应该总是以颜色分数作为更权威的判断依据。
以下是颜色得分的说明:
提示:如果你测试的结果中有大量的信息的话,很可能是因为你在完全载入前就试着分析这个页面了, 这时可以点击 重新分析 来重新进行页面分析。
对于总体得分的注解
Page Speed还给出了一个总体的数字得分和颜色得分,数字得分是当前页面所有数字得分的结算结果,基于所有规则的权重(包括和蓝色的信息, 就是没有得分的条目)。颜色得分是基于绿、黄、红色结果的数量根据一定规则计算出来的。
记录活动
Page Speed 活动面板展示了所有浏览器活动的时间线,包括了网络事件和JavaScript处理,你可以根据这个面板结合Page Speed的性能分析结果和真实的计时数据进一步分析你的页面。
注意: Page Speed活动的特性和HTTPWatch不兼容,在使用它之前,要保证禁用掉HTTPWatch:在Firefox中,可以通过工具 > 附加组件,从附加组件的列表中,点击禁用HTTPWatch。
注意Page Speed 活动面板会显示浏览器所有线程的浏览器事件,那我们可以通过下面的步骤让它只记录单页面的活动。
如何记录单页面活动:
启动(重启) Firefox并关闭所有的页签。
1、清除浏览器缓存;
2、通过在地址栏输入 about:blank 来访问一个空白页面以清除所有会被记录的浏览器活动;
3、选择 工具 > firebug > 打开firebug;
4、在Firebug窗口中,选择 Page Speed活动 页签;
5、点击 记录活动;
6、访问你想要记录的页面,事件就以时间线的形式显示出来了;
7、任何时间想要查看结果的话,只需要点击 停止 让移动的时间线停止下来。
提示:你也可以使用键盘的快捷方式来停止记录: Linux和Mac OS X上用Ctrl+R,Windows上用Alt+R。鼠标移动到资源信息上可以通过信息提示的方式查看资源的绝对地址。
8、要了解展示出来的时间的更多信息请继续往下看。
Page Speed活动事件的注解
活动面板根据时间线展示浏览器事件,当前页面所需要的每个资源都会被记录。以10毫秒的频率记录事件,如果浏览器事件没有使用完整的10毫秒的话,事件会以比较淡的阴影展示,在时间线中被展示成没有颜色的区块意味着浏览器正在处理其他的过程,比如DOM和CSS的解析, Flash ActionScript过程, 绘制, 操作系统时间等等。
下面的表格详细的描述了事件类型:
网络事件
本地事件
收集完整的JavaScript方法执行信息
默认状态下,Page Speed活动收集浅调用图,在每个调用堆栈的地步记录了方法的进入和退出的时间,这样把监控的影响最小化,改进了时间线的精确程度。但是,你可能想要收集完整的记录了所有方法调用的执行图。那显示未被执行方法的选项就可以满足你的要求。
获取一个未被调用方法的列表,有些方法被声明(解析)但是在你中断记录之前都没有被调用。
获取一个可延迟的方法列表,有些方法在你中断记录之前被调用了,它会显示每个方法实例化的时间和初次调用的时间之间的差值,以从最大到最小的方式排列。
在Linux和Mac OS X系统下,可以把完整的方法调用树,包含了解析和声明的时间的信息以Protocol buffer的格式保存到磁盘上的文件中,那么你可以对这些调用图进行更深入的分析,可以看后续的活动面板保存文件 以获得更多的关于文件的格式和如何从中获取数据的方法的信息。
比如:下面的截图是摄于7800ms,并且展示了在那个点上没有被调用的方法的列表, 以及它们被解析的时间:
下面的截图摄于7800ms,显示了在那个点上已被调用了的方法的列表,按照从最大到最小延迟的顺序展示;就是这些方法从解析到第一次调用的时间差从最大到最小的排序。
如何记录单个页面的活动和收集完整的执行图:
在任何时候, 做以下任意事情(会中断记录):
查看绘制快照
从Page Speed 1.3(Firefox 3.5)开始,活动面板还能够展示出浏览器如何逐步渲染一个页面的快照。当绘制快照是激活状态的,并且你开始记录活动时,Page Speed用黄色高亮显示出它已经渲染完成的元素,以灰色显示的元素表示的是在当前窗口下没有滚动滚动条的情况下看不到的那部分元素,你可以用这些快照来帮助解决逐步渲染中产生的问题,优化页面上元素的渲染,如果想知道更多相关信息的话,可以查看 使用Page Speed 活动捕捉和分析浏览器绘制事件。
例如,下面的截屏显示了文字和图标元素最先被绘制,然后是表单输入域,在然后是表单的按钮:
如何记录活动和查看绘制事件:
在任何时候, 想要查看结果, 点击 停止 来中断时间线。
选择 Page Speed 页签, 点击下拉箭头展示一个选项弹出菜单, 在那里可以看到 Page Speed 的附加选项:
其中的每一项将在下面进行解释:
页面加载完成时自动运行
这个选项可以让 Page Speed 能够在页面加载完成的同时开始自动分析,只要这个选项是被激活的,Page Speed会在后续访问的每个页面中自动执行。
如何让Page Speed 在页面载入完成时自动运行:
记录延迟的JavaScript
这个选项用来测试延迟加载的JavaScript,它一般是默认关闭的,这个测试从Firefox的JavaScript调试器中收集JavaScript覆盖的范围内检查当前页面中在 onload 事件触发时哪些方法被调用,哪些没有,调试器服务在单块全局内存中跟踪完整的Firefox Session的状态,这个状态不是基于每个页面的加载,也不会在页面被重载时清除,这意味着你在firefox 一次会话中第一次访问这个页面时,记录器会精确的算出的得分,但是如果你继续使用这个页面,额外的JS被载入和执行,记录器就不会后续报告精确的结果了。而且,如果多个页面引用了同一个外链JS文件的话,记录器只会报告其中第一页面的结果。
为了保证你的性能得分的精确性, 你必须在刚打开Firefox时就要启用它:
注意:这个选项会让Firefox变慢甚至会让Firefox宕机,特别是你想要用多页签浏览,建议直到你准备好使用它再激活它,并且在用完后马上禁用它。
保存优化好的文件
Page Speed会在分析页面的时候自动优化页面上引用的 JavaScript,CSS以及图片, 默认状态下, 优化好的文件会保存到如下目录:
但是,你可以更改Page Speed保存文件的路径:
设置用户代理
Page Speed是通过页面在Firefox中载入来评判得分的,但是,为了适应更多的浏览器行为,很多网站针对用户自身的浏览器提供了不同的内容,网络服务器会根据浏览器发送的每个请求中的用户代理字符串来检查发出请求的浏览器,如果你的网站会根据用户代理来输出不同的内容,而你又想要Page Speed针对不同浏览器来给出评定,那你可以使用 设置用户代理 选项。
注意一个页面是在其他浏览器下工作,那他不一定能够在Firefox下工作,所以可能存在的情况是你使用不同的用户代理记录下的记录不一定是用户端使用同一个用户代理的浏览器所看到的结果。但是,通常情况下,这些差异只是装点门面用的,所以 Page Speed给出的建议同样适用。
如何选择不同的用户代理:
注意:用户代理选项在某些页面会造成Firefox宕机. 所以我们推荐在基础应用中保留默认的设置。
关于Page Speed的安装、使用与卸载说明,这篇文章讲的相对更加详细,这是转载自“菜菜的ZerG”,文章格式和内容有适当的修改,原文在这里。