`

Google Page Speed提示优化信息说明

阅读更多

关于项目开发者

项目的开发者基本上是Google的工程师,这里需要提到的一个人:Steve Souders 。他曾经效力于Yahoo,是YSlow 项目的开发者之一,而且还是Firebug Work Group  成员之一。他一直以来致力于高性能Web 应用领域。更加有趣的是,在Stanford CS系就开了这么一门课:High Performance Web Sites (CS193H)  。另外,他还写了两本书,都在O’reilly出版,分别是High Performance Web Sites 与 Even Faster Web Sites。

Page Speed是什么

Page Speed是Firefox 的扩展,准确地说是Firebug的扩展。Firebug的强大功能我已经介绍过了 ,Page Speed就是对其进行了进一步扩展,集成的功能包括:

 

  • 页面性能综合分析,可以针对页面提供综合报告和建议
  • 内置以及图片优化,包括JS Minify
  • 改进的资源请求显示,对于Firebug Net模块的改进显示
  • 页面请求活动视图,以直观的图标方式显示各请求的加载时间顺序以及每个请求各部分的时间消耗,开发人员可以根据这些数据找到性能的瓶颈
  • JS性能优化,可以分析出未被调用的以及可以延迟调用的函数

安装

首先,需要安装Firebug,然后在这里 进行安装。基本要求如下:

  • Mozilla Firefox 3.0.4及以上
  • Firebug 1.3.3及以上

使用

安装好以后,打开Firebug,可以看到新增的两个标签页:Page Speed与Page Speed Activity,如下图所示:

使用Page Speed

其中,Page Speed标签页包括两个功能:Analyze Performance与Show Resources,其中Analyze Performance是Page Speed的核心功能。点击以后Page Speed开始工作,几秒钟以后就会得出一份详细的性能分析报告:

Page Speed分析报告

其中各项按照重要性进行排序,展开每一部分,可以得到详细的报告。其中,红色图标表示未进行优化,黄色表示可以进行进一步优化,绿色表示已经进行优化。

其余部分的功能可以在Google Code的官方主页上 找到,这里就不赘述了,只重点介绍Analyze Performance这一功能。

性能优化技巧

其实上图的每一项都是Page Speed提供的优化标准,Page Speed就是按照这一条条标准进行分析的。需要拿出来讲的包括:

使用gzip压缩

这里放在第一,是性能优化效果最显著的一步。所谓gzip压缩是一种开发的压缩算法,目前的主流浏览器(Firefox , Safari, Chrome, IE4及以上)与主流服务器 (Apache, Lighttpd, Nginx)均对其有很好的支持。gzip压缩是通过HTTP 1.1协议中的Content-Encoding : gzip来进行标记说明,其可以明显减少文本文件的大小,从而节省带宽和加载时间。我做过的一个实验,发现启用gzip后,jquery 1.2.6 minify版本的大小从54.4k减少到16k,减少了70%。gzip适用的情况包括:

  • HTML\CSS\文件,gzip算法对于文本文件的效率比较高,而jpg/gif/png/pdf等二进制文件本身已经进 行了一次压缩,再使用gzip的成效已经不明显了。而且gzip压缩需要消耗服务器的资源,而解压缩需要消耗浏览器的资源,对于比较大的二进制文件具有非 常高的性能消耗;
  • 尽量使用一种大小写方式,要么全部大写,要么全部小写。学过数据结构和算法的同学一定知道压缩其本身就是对冗余信息熵进行压缩,如何数据原素的类型种类太多,其信息冗余度会降低,从而压缩率降低;
  • 过小的文件(通常小于150个字节)不宜进行gzip压缩,因为gzip会在文件头加入相关信息,对于小文件反而会增加文件的长度;

关于各服务器如何启用gzip,可以参加相关文档说明。

如何检查gzip是否启用?使用Firebug,在Net模块中进行检查HTTP Header是否有Content-Encoding gzip标记,参见下图:

gzip压缩检查

最小化JS和图片

对于文件本身具有非常大的优化空间。所谓压缩,就是通过一些工具将函数、变量名进行优化(其实就是尽可能 缩短变量名长度),消除多余字符(比如空格、换行符、注释等),最终得到的代码可以在分析和执行上得到性能提升。压缩后得到的代码对于机器而言是可读的, 对于人来说就不行了,因为文件内容已经面目全非。所以压缩一般用于生产期的代码,不能使用于开发期。

同样的道理,图片内容中也有一定的冗余信息,比如文件头部的一些内容描述(这些内容在jpg)图片上尤其如此。通过一定的工具(比如GIMP)可以去除这些信息,从而节省一定的空间。

幸运的是,Page Speed已经内置了这些功能,我们不需要找第三方的工具。如下图所示,可以看到对JS文件进行最小化可以得到的预期效果:

最小化

比如jquery.form.js,最小化后减少11.9kb,减少54.8%的空间。点击minified version,在新窗口中可以看到Page Speed为你优化好的版本,直接更新到服务器就可以了。

关于图片优化,操作方法同上。

启用浏览器缓存

这是经常使用的方法。当请求的资源在浏览器本地得到缓存后,第二次请求这些内容就可以从直接缓存中取出,减少了连线的HTTP请求。

HTTP 1.1提供的缓存方法主要有两种:

  • Expires and Cache-Control: max-age. 即内容在缓存中的生命有效期。第一次请求后,在生命有效期之内的后期请求直接从本地缓存中取,不过问服务器;
  • Last-Modified and ETag. 其中Last-Modified标记文件最后一次修改的时间,浏览器第二次请求是在头部加入上次请求缓存下来的Last-Modified时间,如何两次 请求期间服务器的内容没有进行修改,服务器直接返回304 Not Modified,浏览器接到以后直接使用本地缓存。否则,服务器会返回200以及更新后的版本。ETag是服务器对于文件生成的Hash散列,其生成算 法与最后一次修改的时间相关。浏览器第二次请求发送上次的ETag信息,服务器通过简单的比对就知道是否应该返回304还是200。

关于各缓存头部的设置可以参考各服务器的相关文档。

延迟加载

通常浏览器在解析HTML时遇到JS文件会先下载,解析执行后才会下载后面的内容,期间自然会造成一定的延时。为了提高性能,尽可能将JS文件的位 置后移,如果可能,还可以通过部分代码进行异步加载。另外,对于JS和CSS在必须放置在一起情况,需要报JS放置在CSS之后,这样CSS与JS文件可 以同步下载。

文件拼接

这里主要包括JS/CSS等文本文件和图片。对于文本文件,尽可能将同一类型放置到一个文件中,减少HTTP请求。对于CSS背景图片,可以使用 Sprit技术将图片拼接到一起,然后使用background-position属性选择对应的图片。Google首页上的这个图片就是一个很好的例 子:

Google Sprite

其它

更多优化规则,可以参考Page Speed的说明 以及Steve Souders 个人主页上的相关信息。

结论

虽然现在网络速度越来越快,Web 前端优化仍然非常重要;永远不要假设用户的网络速度和你一样快,毕竟由于ISP的各方面原因,各地的速度大不相同。良好的策略可以在有限的带宽资源下达到最大的性能发挥。

这个世界需要丰富的Web 应用,更加需要高效的Web 应用。

分享到:
评论

相关推荐

    对Page Speed的测试

    Google PageSpeed Insights是其中一种常见的在线工具,它可以分析网页内容,并提供性能评分、建议改进措施以及加载时间等信息。优化Page Speed不仅能够提高用户满意度,还能在搜索引擎排名中带来优势。 描述中提到...

    firefox插件page-speed

    Page-Speed 是一款由 Google 开发的 Firefox 浏览器扩展,主要用于评估网页性能并提供优化建议。它通过对网页进行加载测试,分析网页元素的加载时间,帮助开发者和网站管理员找出影响页面速度的问题,从而提升用户...

    百度谷歌快照SEO优化排名软件

    5. **页面速度**:谷歌重视页面加载速度,PageSpeed Insights工具可用来检测和优化。 6. **结构化数据**:使用Schema.org标记,帮助谷歌理解网页内容。 【必应搜索引擎优化】 必应虽然市场份额相对较小,但其优化...

    PSIBatch:Pagespeed Insights 批量测试

    谷歌的PageSpeed Insights(PSI)是一款强大的工具,它能分析网页性能,并提供优化建议。然而,手动测试多个网站的性能可能会非常耗时。为了解决这个问题,我们有PSIBatch,一个基于JavaScript的脚本,专用于批量...

    Website-Optimization:优化提供的网站达到60FPS并在Google PageSpeed Insights上达到90分及以上

    网站性能优化组合项目 如果您愿意接受(我们当然希望您接受),您的挑战是... 复制 ngrok 为您提供的公共 URL 并尝试通过 PageSpeed Insights 运行它! 轮廓、优化、测量……然后起泡、冲洗并重复。 祝你好运! 优化提

    checkmk-pagespeed-plugin:特工检查页面速度得分

    本插件的核心功能是利用 Python 编程语言与 PageSpeed Insights 服务进行交互,PageSpeed Insights 是 Google 提供的一个工具,用于评估网页的性能并提供优化建议。PageSpeed 分析网页的前端性能,包括图片优化、CSS...

    DownLoadPage.rar.rar

    10. **性能监控**:通过工具如Google PageSpeed Insights,监测并优化下载页面的加载速度。 以上就是围绕“DownLoadPage.rar.rar”可能涵盖的一些IT知识点,具体的实现和细节将取决于压缩包内的实际文件内容。

    2010年最新网站流量优化

    "支持自动更新"提示我们需要持续关注最新的优化技术和工具,如Google PageSpeed Insights、Lighthouse等,定期评估网站性能,并根据报告进行调整优化。 综上所述,2010年的网站流量优化是一个涉及多个层面的综合性...

    V4默认主题优化+3.1.rar

    这可以通过Google PageSpeed Insights、GTmetrix等工具来实现,它们能提供关于加载时间、资源优化等方面的建议。 9. **安全考虑**:优化的同时,也要注意主题的安全性。确保下载的主题来自可信源,避免引入潜在的...

    firefox 14 和网页开发的插件

    有一个比Google Page Speed更强大网页性能优化工具,那就是YSlow,它是由Yahoo提供的页面性能评测和优化工具,YSlow也有页面性能评分,有趣的 是,YSlow评分接近的两个页面,Page Speed评分却相去甚远,在实际的页面...

    测试网站访问速度的5个办法[定义].pdf

    3. **GTmetrix工具**:这是一个全面的网站速度测试工具,整合了Google Page Speed和Yahoo! YSlow的评估标准,提供详细的性能报告和优化建议。GTmetrix不仅可以测试速度,还能指出问题所在,便于针对性地优化网站。 ...

    Turbo网站评论「Turbo website review」-crx插件

    HTML比率GZIP压缩测试WWW / NON-WWW解析IP规范化XML网站地图Robots.txt URL重写下划线URL嵌入式对象iframe检查域注册WHOIS数据索引页面计数(Google)反向链接计数器URL计数Favicon测试自定义404页面测试页面大小...

    检查网站编写的最好工具

    3. **性能分析**:Google PageSpeed Insights和GTmetrix提供网页加载速度和性能优化建议,包括图片压缩、缓存利用等。 4. **响应式设计测试**: Responsinator和BrowserStack允许在不同设备和浏览器上预览网站,...

    大学网页设计作品

    7. **网页性能**:根据Google的PageSpeed Insights等工具评估网页加载速度,优化代码、减少HTTP请求、压缩资源等都是提升性能的关键。 8. **SEO (搜索引擎优化)**:为了让更多人找到你的网站,了解基本的SEO原则很...

    huddle-landing-page-with-single-introductory-section

    7. **加载速度(Load Speed)**:优化代码和图像以确保页面加载速度快,避免用户因等待而流失。 8. **SEO优化(Search Engine Optimization)**:使用适当的关键词和元标签,提高搜索引擎排名,增加流量。 9. **A/...

    网页设计之网址导航收藏引导页面 可查网址延迟 html代码版

    这种技术通常结合JavaScript和第三方API(如Google PageSpeed Insights API)实现,通过分析服务器响应时间和网络状况来评估页面加载速度。在HTML中,可以添加事件监听器来触发延迟检测,并使用内联提示或弹窗显示...

    qSEO - Meta SEO网站工具「qSEO - Meta SEO Site Tool」-crx插件

    Google PageSpeed Insights - Google移动设备友好测试 - Google搜索查询(网站,相关,链接域,缓存) - 打开图形调试器 - Semrush Stats(de,us,uk) 仅供参考:响应头信息尚未(未)读取/评估。谁需要在插件...

    google-mobile-web-specialist-notes:Google移动网络专家认证研究笔记

    2. **性能优化**:掌握如何减少加载时间,如使用懒加载、压缩资源、最小化HTTP请求等,以及理解PageSpeed Insights等工具的使用。 3. **响应式布局**:理解媒体查询、流式布局和弹性网格系统,以适应不同设备的屏幕...

    RankBio - SEO & Website Analysis-crx插件

    估计交通和收益 Google Pagespeed见解 速度和优化提示 桌面/移动预览 信息服务器 alexa等级 此外,我们检查: 页面权限 莫兹级别 弹跳率 关键字一致性 Meta关键词 元描述 谷歌预览 领域年龄 页面大小

    40种网页常用小技巧

    26. **性能监控**:使用Google PageSpeed Insights或Lighthouse等工具定期检查和优化网页性能。 27. **前端路由**:在SPA(Single-Page Application)中,使用如React Router或Vue Router进行前端路由控制。 28. *...

Global site tag (gtag.js) - Google Analytics