前端性能优化

性能衡量指标

指标:

  • 白屏时间
  • 首屏时间
  • 用户可交互时间
  • 完全加载时间
  • 首字节时间
  • DNS
  • 解析时间
  • TCP 连接时间
  • HTTP 请求时间
  • HTTP 响应时间

    维度:

  • 运营商
  • 网络
  • URL

性能优化

  • 高频事件消抖、节流。使用_.debounce()_. throttle(),控制高频事件的操作,如:scrollonChange
  • JavaScritp很快,但是DOM很慢,减少修改DOM。
  • DOM的渲染需要计算DOM+CSSOM,每次DOM和CSSOM的每次修改都会触发重绘;
  • 渲染过程:JavaScript -> Style -> Layoout -> Paint -> Composite
  • 避免 position: fixed;布局,Z轴图层堆叠关系会改变,引起重绘;
  • 图层隔离:将那些会变动的元素提升至单独的图层,比如:动画、渐变;
  • 降低图层复杂度;
  • 避免线程阻塞;
  • 优化CSS;
  • 文件:引入方式、位置、文件合并、延迟加载;
  • 硬件加速:GPU加速渲染

基于各环节优化:
这里写图片描述

  • 减少http请求,合理设置 HTTP缓存
  • 使用HTTP/2
  • 持久连接,使用 keep-alive 或者 WebSocket
  • 使用浏览器缓存
  • 启用压缩
  • CSS Sprites
  • LazyLoad Images
  • 样式文件放在顶部,脚本文件放在底部
  • 减少 cookie 传输
  • CDN 加速
    CDN(contentdistribute network,内容分发网络)的本质仍然是一个缓存,而且将数据缓存在离用户最近的地方,使用户以最快速度获取数据,即所谓网络访问第一跳。
  • 反向代理
    • 传统代理服务器位于浏览器一侧,代理浏览器将http请求发送到互联网上,而反向代理服务器位于网站机房一侧,代理网站web服务器接收http请求。
    • 论坛网站,把热门词条、帖子、博客缓存在反向代理服务器上加速用户访问速度,当这些动态内容有变化时,通过内部通 知机制通知反向代理缓存失效,反向代理会重新加载最新的动态内容再次缓存起来。
    • 此外,反向代理也可以实现负载均衡的功能,而通过负载均衡构建的应用集群可以提高系统总体处理能力,进而改善网站高并发情况下的性能。
  • 面向未来,考虑 service worker
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值