性能优化

性能优化

优化的目的是让用户有“快”的感受,那如何让用户感受到快呢?

  • 加载速度真的很快,用户打开输入网址按下回车立即看到了页面
  • 加载速度并没有变快,但用户感觉你的网站很快

传输快

真快就是网站资源以最快的速度达到用户的浏览器,我们先大致定一下基本原则:

  • 传输内容体积小

  • 传输内容数量少

  • 网速足够快

  • 服务器响应及时

  • 能重复利用的资源利用好

  • 暂时不需要的资源先不要

  • 将来需要的资源抽空再要

接下来我们来做一个细化:

  1. 传输的内容体积要小
  • 图片要压缩

  • 图片根据支持情况选择体积更小的格式(如 webp)

  • css、js 内容压缩

  • 服务端开启 Gzip,在传输数据之前再次压缩

  1. 传输的内容数量要少
  • 图片图标合并(css sprite)、svg 图标合并(svg sprite)

  • css、js 文件打包合并

  1. 网速足够快
  • 服务器出口带宽要够

  • 考虑到南北差异、运营商差异,在不同地区部署服务器

  • 静态资源放 CDN

  1. 服务器响应要及时
  • 接口响应速度要快(数据库优化、查询优化、算法优化)

  • cpu、内存、硬盘读写不要成为瓶颈;多加几台机器

  • 重要页面(首页)静态化。服务端提前渲染后首页生成静态页面,用户访问首页直接返回静态页面,不需要像其他页面那样还需加载 css、js 再获取数据渲染展示

  1. 能重复利用的资源要利用好
  • 服务器设置合适的静态资源缓存时间

  • 前端文件打包时做合理的分块,让公共的资源缓存后能被多个页面复用

  1. 暂时不需要的资源先不要
  • 图片懒加载

  • 功能、模块、组件按需加载

  1. 将来需要的资源抽空先拿到

1. DNS 预解析 <link rel="dns-prefetch" href="//jirengu.com">

2. 预连接 <link rel="preconnect" href="//jirengu.com">

3. 预获取 <link rel="prefetch" href="image.png">

4. 预渲染 <link rel="prerender" href="//xiedaimala.com">

体验快

体验快就是让用户觉得网站的交互是“流畅的”、“舒适的”。

  1. 滚动页面不会有迟滞感
  • 短时间连续大量操作需要节流
  1. 一些常见操作不要拖泥带水
  • DOM操作不要过于频繁

  • 不要有内存泄露

  • 优化复杂运算

  1. 动画不要卡顿
  • 多用CSS动画,少用JS动画

  • 开启硬件加速

  • 不要用setTimeout/setInterval去模拟动画

  • 动画或者过渡的执行时间不要太长

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 围绕前端的性能多如牛毛,涉及到方方面面,以我我们将围绕PC浏览器和移动端浏览器的优化策略进行罗列注意,是罗列不是展...
    流动码文阅读 699评论 0 0
  • 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像、样式...
    兔子不打地鼠打代码阅读 552评论 0 1
  • 一、PC端优化策略 主要包括网络加载类、页面渲染类、CSS优化类、JavaScript执行类、缓存类、图片类、架构...
    puxiaotaoc阅读 24,774评论 6 56
  • H5性能优化方案 H5性能优化意义 对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环。原...
    自然心情阅读 8,072评论 0 14
  • 文/雍万萍 漫舞的黄叶 捎来了初冬的消息 回忆在瑟瑟的冷雨里 蜷缩成一团 流浪的游子 揣着一颗孤独的心 慢慢 慢慢...
    频彩阅读 170评论 4 10