前端性能分析优化

分析问题

我们并不仅仅关注页面资源的解析和展示响应时间,而是要关注总时间;我们进行web前端性能测试的目的是计算出包含页面渲染、网络传输以及服务器端解析等综合因素在内的加载时间等指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此结果的基础上,给出一定的优化建议和解决方案,从而提升用户体验。

根据雅虎团队经验:网站页面性能优化的34条黄金守则,我们逐条分析。

性能黄金法则

只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求上。

  1. 尽量减少HTTP请求次数

    • 合并文件.

      例如将项目中用的资源文件合并。所有的CSS文件都放入一个样式表中.或者将js文件合并压缩

      利用gulp,grunt,webpack等构建工具将项目资源文件整合

    • 利用CSS Sprites 减少图像请求.

      通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。

  2. 启用浏览器缓存
    • 要利用浏览器缓存存储可缓存的资源

      在HTTP标头中为静态资源设置有效期或最长存在时间,可指示浏览器从本地磁盘中加载以前下载的资源而不是从网络中加载。

  3. 减少DNS查找
    • DNS缓存

      当客户端的DNS缓存为空时,DNS查找的数量与Web页面中唯一主机名的数量相等。减少唯一主机名的数量就可以减少DNS查找的数量。

  4. 使用内容分发网络
    • 页面静态化,取决于发布系统

      按页面内容划分域名,在合适的资源服务器上存放文件

  5. 避免404错误
    • 避免内部无效的链接
  6. 避免重定向
  7. 压缩组件
  8. 精简Javascript和Css
  9. 尽量缩减页面大小
    • 页面必须小于150K(不含图片)

      a) 静态文件是否gzip

      b) 图片是否压缩优化过

  10. 预处理
    • 浏览器空闲时请求将来可能会用到的页面内容

    无条件加载:触发onload事件时,直接加载额外的页面内容

    有预期的加载:载入重新设计过的页面时使用预加载。

  11. 移除重复脚本
  12. 使iframe的数量最小
    • 异步加载
  13. js 开发规范
  • 代码逻辑分层
  • 避免全局变量
  • 便于多人协作开发
  • 各部分代码模块化,可以按需加载 利用requirejs和seajs等模块化工具加载
  • 保持全局变量的清洁
  • 可进行单元测试

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-04 03:06:55

前端性能分析优化的相关文章

web前端性能分析--实践篇

当我们知道了web前端性能的关键点后,那么接下来要做的就是如何去具体实施并获取这些关键点的数据了.通过前面的学习知道了不少好的工具,经过对比后个人觉得dynatrace还是不错的. 不仅支持ie,ff浏览器,还具备js函数级别的优化分析,它的分析数据也是最全面的,分析数据可以导出,最后和yslow,pagespeed一样支持向showslow上面传送结果信息这样就节省了很多的事情了.所以实施方案具体确定为dynatrace用来捕获web前端页面访问的性能数据,然后上传至showslow来浏览测试

web前端性能分析--原理篇

web前端性能: 即是web用户在访问一个页面时所要花费的时间总和.即一个完全意义上的用户响应时间,相对于服务器的响应时间而言还会包括更多的内容和影响因素.那么一个web页面的完整请求包括了哪些部分的时间总和就是web前段性能分析和优化所需要了解的基础知识,先了解一下用户从浏览器访问一个url后到页面完全展示所有内容的整个过程吧. 页面的请求过程: 1.浏览器的url请求 2.递归寻找DNS服务器 3.连接目标IP并建立TCP连接 4.向目标服务器发送http请求 5.web服务器接收请求后处理

WEB前端性能分析--工具篇

在线网站类: WebPageTest 说明: 在线的站点性能评测网站,地址http://www.webpagetest.org/ 补充: 其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点 ShowSlow 说明: showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件.page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示.只需要在dyn

推荐IE前端性能分析神器DynaTrace Ajax Edition

该工具得到了JQuery作者John Resig以及前端性能大牛Steve Souders的推荐,是IE平台上最好的性能分析工具:而且是免费的,当前版本是2.0. 该工具实在过于强大,这里先上两张图,介绍下Timeline功能和Hotspot功能. Timeline如下图,可以列出整个网页打开的瀑布图. Hotspot可以说明IE花在渲染.js解析.js运行.css渲染.cookie等各个动作上的详细性能数据: 刷新评论刷新页面返回顶部 About www.spiga.com.mx Copyri

前端性能测试之分析篇

引言 前一章,我们讲了browser的工作原理,那么怎么样才能让了解整个主站前端的性能呢?监控! 对,是的,我们可以利用各种工作对我们的website进行实时的监控,目前监控的方式有两种. 类型 优点 缺点 示例 非侵入式 指标齐全.客户端主动监测.竞品监控 无法知道性能影响用户数.采样少容易失真.无法监控复杂应用与细分功能 Pagespeed.yslow.PhantomJS.webpagetest.sitespeedio 侵入式 真实海量用户数据.能监控复杂应用与业务功能.用户点击与区域渲染

IE浏览器性能分析工具

  DynaTrace AJAX是一个运行在IE浏览器下的免费页面性能分析工具,它可以支持主流的IE6.IE7.IE8浏览器.这款工具正是DynaTrace为进入前端性能分析领域而发布的.您可以利用它来分析页面渲染时间.DOM方法执行时间,甚至可以看到JS代码的解析时间.连JQuery的创始者 John Resig 也鼎力推荐了一把. John Resig对其评价到:"我一般不随便写关于性能分析工具的东西,坦率地说,我感觉它们绝大部分都比较烂,根本不能提供任何有价值的信息和分析结果.不过 dyn

前端性能优化:Javascript的加载顺序

文章简介:35条Javascript最佳实践. 相信很多与页面打过交道的同学都对 Yahoo 的 Best Practices for Speeding Up Your Web Site 不陌生.而这 35 条最佳实践中,对 Javascript 的加载顺序的要求是:Put Scripts at the Bottom.因为根据HTTP/1.1 specification 看来,在同一时间加载两个文件是最理想的,而 Javascript 脚本会阻碍平行下载.Steve 说那是 2008 – 200

移动HTML 5前端性能优化指南

  前端工程师的菜!最近移动Html 5越来越火,想有一个体验流畅的Html 5 应用,这篇优化指南就别放过咯.腾讯的同学将关键的注意点与优化方法都总结出来,全文高能干货,非常值得深度学习 >>> 概述 PC优化手段在Mobile侧同样适用 在Mobile侧我们提出三秒种渲染完成首屏指标 基于第二点,首屏加载3秒完成或使用Loading 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB Mobile侧因手机配置原因,除加载外渲染速度也是优化重点 基

5173首页前端性能优化实践

从制定计划,到前后端的开发,最后到测试以及上线,历时4个月,5173首页前端性能优化项目终于顺利上线,并达到了预期的性能优化目标.这次的项目并不是改版,而是原来首页的设计和功能不变,只做重构和优化.虽然项目名叫前端的性能优化,但也并不仅仅是前端单方面的工作,要想彻底的把优化做好,就需要前后端的通力配合. 历史背景 老首页应该是09年上线的,首页也是各部门争夺资源的地方,大家都想在首页有一席之地,各部门在首页都有各自的小豆腐块,如果有新项目的上线,大多是打补丁的方式,并且唯一的规范就是能保证功能正