Skip to content

服务端性能优化

规则 1:减少网络请求

  • 合并请求: 包括 JS、CSS
  • 使用雪碧图: CSS Sprite
  • 使用地图:HTML Map
  • 内联小图片: Base64Encode

规则 2:使用内容分发网络 CDN

  • 地理上离用户更近
  • 专业的公司提供服务

规则 3:适当的使用缓存

  • 为静态资源添加 Expires 响应头
  • 为静态资源添加 Cache-Control 响应头
  • 配置 Apache、Nginx、Express

规则 4:启用 GZIP 压缩

  • 大幅度减少网络传输体积,压缩率高达: 60%~90%
  • 多种文件类型: HTML、JS、CSS、Image

规则 5:减少 DNS 查找

  • 单个站点不要使用太多域名
  • 单次 DNS 查找约消耗 20~12ms

规则 6:避免重定向 3XX

  • 重定向对浏览器意味着重头再来
  • 每次重定向至少多花费 50ms

规则 7:配置有效的 ETAG

  • 跟浏览器说明过期规则
bash
HTTP/1.1 2000K
Last-Modified: Tue,12 Dec 2006 03:03:59 GMTETag:“10c24bc-4ab-457e1c1fuContent-Length:12195

2

bash
GET /i/yahoo.gif HTTP/1.1
Host: us.yimg.com
If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT
If-None-Match: "10c24bc-4ab-457elc1f"
HTTP/1.1 304 Not Modified

规则 8:让 Ajax 请求可缓存

  • GZIP、内容压缩都可适用

规则 9:尽快输出第 1 个字节

  • 尽快输出页面头部,浏览器能尽快开始干活
  • 并行下载外链的 CSS
  • 风靡一时的 BigPipe 也是基于此
  • 减少静态资源加载时的网络传输量
  • 静态资源加载通常是不需要 COOKIE 的
  • 阿里: 精简 COOKIE 后,每年节省的费用百万级

Released under the MIT License.