给你的网站定一份性能预算
2 分钟1 条评论
"性能优化"为什么总是不了了之?因为没有预算。没有预算,就没有约束力。
什么是性能预算#
性能预算就是一句话:我们承诺页面在什么设备、什么网络下,做到什么指标。比如:
- LCP ≤ 2.5s(4G,中端安卓机)
- 首屏 JS ≤ 170KB(gzip 前)
- CLS ≤ 0.1
关键不是数字多精确,而是它是团队承诺,不是某个人的愿望。
把预算接进流水线#
贴在墙上的预算没有意义,要让它自动化执行:
{
"budgets": [
{
"path": "/*",
"resourceSizes": [
{ "resourceType": "script", "budget": 170 }
]
}
]
}
Lighthouse 的预算机制可以在 CI 里直接卡失败。超过预算的 PR 合并不进去,讨论自然就发生了。
预算超了怎么办#
三种处理方式,按优先级排序:
- 删掉:那个三方统计脚本真的必要吗?
- 替换:有没有更轻的实现?
- 申请调额:确实要加,就走正式流程调高预算,并且说明为什么。
第三条最重要——预算可以被调整,但必须显式调整。"先上线再说"是预算制度的天敌。
从哪里开始#
不用追求一步到位。先测出当前的真实数据,然后把每个指标收紧 10%~20%,就是一个足够好的第一版预算。