后端开发

改版是提速的最好时机:从架构层面解决老站慢

2026-11-04 289 次阅读

老网站慢,通常已经做过一轮优化:图片压了、缓存加了、CDN 上了,还是快不起来。这说明瓶颈在结构里,只有改版才能动。

先测清楚慢在哪

改版前记录一份性能基线,后面好对比:

首页总请求数:首页总体积:4G 网络首屏时间:LCP / CLS / INP:手机端 Lighthouse 分数:

重点看两个东西:请求数量和主线程阻塞时间。老站常见的是请求一百多个、脚本执行好几秒,这些靠压缩图片解决不了。

资源策略:少发请求

改版时可以重做的:

  • 合并与按需加载:不是所有页面都要加载全站样式,按页面拆分
  • 图标用 SVG 雪碧图或内联:几十个小图标各发一次请求很浪费
  • 字体精简:中文字体只保留用到的字,或者用系统字体
  • 开启 HTTP/2 或 HTTP/3:多路复用下请求数的影响会小很多
  • 启用压缩:文本资源开启 Gzip 或 Brotli

渲染方式的选择

这是架构层面的决定,改版才有机会调整:

  1. 静态生成:内容变动不频繁的页面预先生成 HTML,速度最快
  2. 服务端渲染:每次请求时拼装,兼顾动态性和首屏
  3. 客户端渲染:交互体验好,但首屏依赖 JavaScript,企业站要谨慎

对以搜索流量为主的企业站,前两种明显更合适。第三种要么不用,要么配上预渲染。

缓存设计

  • 静态资源带哈希文件名,设置超长缓存时间
  • 页面本身短缓存,或者用CDN边缘缓存
  • 接口数据按需缓存,减少数据库压力
  • 合理设置协商缓存,避免每次全量下载

第三方脚本治理

老站上往往积累了大量外部脚本,改版是清理的好机会:

  • 逐个盘点:这个脚本还在用吗?有人看它的数据吗?
  • 能删就删:一年没打开过的统计后台,对应的代码可以去掉
  • 延后加载:客服、地图、社交插件延迟到页面加载完成后再执行
  • 合并同类:别同时装三套统计工具

这一步的效果常常超出预期。有个客户删掉五个没用的脚本后,首页加载时间直接少了两秒。

数据库与后端

页面慢有时是后端的问题:

  • 慢查询优化:加索引、减少联表
  • 热点数据缓存:首页的数据不必每次查库
  • 减少重定向链:A 跳 B 再跳 C,每次跳转都是一次往返

定一条性能预算

改版时给团队定个硬指标,写进验收标准:

首页总体积 ≤ 1.5MB请求数 ≤ 50手机 4G 首屏 ≤ 3 秒LCP ≤ 2.5 秒CLS ≤ 0.1

有了预算,开发中每加一个大图或一个库都会有人犹豫一下。没有预算的话,性能会一路劣化到上线才发现。

上线后守住

改版后三个月再测一次,和基线对比。同时把"上传图片必须压缩""新增第三方脚本要评估"写进日常规范,否则一年后又会回到从前。

性能是设计出来的,不是优化出来的。改版是唯一能重新设计它的机会。

—— 一位专门做性能优化的工程师

标签

  • 改版性能优化
  • 网站速度提升
  • 前端性能优化