不能被复述的性能,等于没做过。
一、季度复盘桌上的一页纸
十月第一个周一,司南把十个数打印在一页 A4 上:左列阈值,中列三月,右列十月,右下角两个总分 1.90 和 4.03,满分都是 5。同事路过问,1.90 算什么水平。他说,算「知道自己慢,但不知道慢在哪一层」的水平。
这页纸不是仪表盘。仪表盘回答「现在多少」,验收要回答另外三个问题:这十个数够不够代表「快」,每一项的线画在哪,以及一年之后怎么证明它没退回去。
以下情境为教学假设,人物、引语和数字不代表经核实的真实案例。
十个数比一百张图有用。 图用来发现问题,数用来验收;一页纸放不下的指标,季度复盘时一定会被跳过。
没有阈值的指标只是观察项。 观察项可以无限多,验收项必须少到每次都能全部过一遍。
验收的对象是取舍,不是分数。 4.03 不代表好,只代表这一年 40 小时花在了能被检查的地方。
这页纸的背面还印着三样证据:二十格预算、四十小时的九项分配、二十六次发布的门禁记录;正面给结论,背面给结论的出处。
二、十项指标:三层,十条线
十项从年初的二十格预算里长出来:四条预算覆盖五条关键路径,再补上导出、第三方与两个成本口径,才够描述「快且不贵」。
| 指标 | 阈值 | 改前 | 改后 |
|---|---|---|---|
| 首页 LCP p75 | ≤ 2.0 s | 4.2 s | 1.8 s |
| 首屏传输 | ≤ 200 KB | 412 KB | 168 KB |
| 第三方脚本 | ≤ 200 KB 且 ≤ 4 个标签 | 640 KB / 7 个 | 180 KB / 4 个 |
| API p95 | ≤ 400 ms | 1,240 ms | 320 ms |
| 列表页查询数 | ≤ 5 次 | 1,200 次 | 3 次 |
| 导出 p95 | 受理 ≤ 5 s、完成 ≤ 30 s | 34 s 同步(p95 48 s) | 4 s + 12 s |
| 缓存命中率 | ≥ 80% | 0% | 86% |
| 预算覆盖率 | 20/20 格 | 4/20 | 20/20 |
| 月度云账单 | ≤ 150 美元 | 210 美元 | 118 美元 |
| 每千次请求成本 | ≤ 0.25 美元 | 0.42 美元 | 0.19 美元 |
十项里有四项直接来自预算。 LCP、首屏传输、API p95、列表页查询数就是年初那四条线;另外六项是把「快」翻译成「不贵」与「不退化」的补充,缺了它们,四项全绿也可能账单翻倍。
十项是四组的折中。 用户感知 3 项、服务响应 3 项、效率 2 项、成本 2 项,合计 10。再加 5 项,按每项 6 分钟(重跑加判读)算会多 30 分钟,复测从 1 小时变 1.5 小时;第一次拖延,这套验收就废了。
每项都要有采集点。 8 项来自运行与构建数据(RUM、监控、CDN 日志、门禁记录),2 项来自账单;没有采集点的指标,第二次复测时就会消失。
阈值只写一个数。 「LCP 尽量低于 2 秒」不是阈值,「≤ 2.0 s」才是;写成区间,人就会在边界上谈判。
成本两项互为校验。 118 美元 ÷ 620 千次 = 0.19 美元/千次,账单上限 150 ÷ 620 = 0.242 取整为 0.25;两个数一起看,才防得住「账单降了但请求涨得更快」。
三、四维评分:1.90 与 4.03
十项指标按四个维度加权,权重在年初定死:用户感知 0.30、服务响应 0.25、运行效率 0.25、成本 0.20。
指标分按 0–5 打,0.5 为最小刻度:1 是无测量,2 是有测量没阈值,3 是刚好达标,4 是余量 10–25%,5 是余量 25% 以上;维度分取组内指标分的平均,样本不足可在指标分上扣 0.5。
| 维度 | 权重 | 包含指标 | 改前 | 改后 | 打分依据 |
|---|---|---|---|---|---|
| 用户感知 | 0.30 | LCP、首屏传输、第三方 | 2.0 | 4.0 | 三项全达标,余量 10–16%,未到 25% 的 5 分档 |
| 服务响应 | 0.25 | API p95、查询数、导出 | 2.0 | 4.5 | API 余量 20%、查询 40%、导出 60%;导出只跑六周,扣 0.5 |
| 运行效率 | 0.25 | 缓存命中、预算覆盖 | 2.0 | 4.0 | 86% 对 80%、20/20 格,达标但余量不足 |
| 成本 | 0.20 | 月账单、每千次成本 | 1.5 | 3.5 | 两项余量 21% 与 24%,各扣 0.5(只有一个完整月样本) |
改前 1.90 = 0.30×2.0 + 0.25×2.0 + 0.25×2.0 + 0.20×1.5;改后 4.03 = 0.30×4.0 + 0.25×4.5 + 0.25×4.0 + 0.20×3.5,加权和 4.025 四舍五入。
四个维度分都是组内平均:用户感知 (4 + 4 + 4) ÷ 3 = 4.0,服务响应 (4 + 5 + 4.5) ÷ 3 = 4.5,运行效率 (3 + 5) ÷ 2 = 4.0,(3.5 + 3.5) ÷ 2 = 3.5。
四个维度不是四个部门。 一个人同时是前端、后端和财务,权重只是提醒他:这一小时该先修用户能感觉到的那一项,而不是自己最熟悉的那一项。
权重回答「先照顾谁」。 用户感知 0.30 最高,因为 344 个账号里 120 个付费,他们先感受到的是首屏;成本 0.20 最低,因为账单样本最短、波动最大,权重给高了,总分会跟着一个月的水电费跳。
2.0 不是差,是「有测量、没预算」。 改前三个维度都停在 2.0,说明数都在、线没画;成本 1.5 更低,因为每千次请求成本从来没算过。
扣分要写依据。 服务响应 4.5 而不是 5,因为导出异步只跑了六周;成本 3.5 而不是 4,因为只有一个完整月账单。分数能被追问,才值得被记录。
分数用来分配下一段时间。 最低的 3.5 在成本,下季度复测的第一件事就是把「其它 4 美元」拆成明细,而不是继续磨已经 4.5 的服务响应。
四、复测节奏:4 × 1 小时
每季度第一个周一,固定 60 分钟,不写代码,只重跑与判断。
- 0–30 分钟:重跑十项。合成测试 3 分钟(复用门禁脚本)、详情与导出抽查 7 分钟、账单与请求数导出 10 分钟、整理成表 10 分钟。
- 30–45 分钟:更新四维评分,每个维度写一句扣分或满分依据。
- 45–60 分钟:写下季度第一笔时间给谁,并判断阈值是否需要动。
复算:
改前 = 0.30×2.0 + 0.25×2.0 + 0.25×2.0 + 0.20×1.5
= 0.60 + 0.50 + 0.50 + 0.30 = 1.90
改后 = 0.30×4.0 + 0.25×4.5 + 0.25×4.0 + 0.20×3.5
= 1.20 + 1.125 + 1.00 + 0.70 = 4.025 ≈ 4.03
提升 = 4.025 − 1.90 = 2.125
复测 4 × 1 h = 4 h,占 40 h 的 4 ÷ 40 = 10%
全年 40 h = 诊断 5 + 首屏 5 + 查询 7 + 缓存 4 + 后台 4 + 第三方 3 + 账单 3 + 门禁 5 + 复测 4
40 ÷ 1,920 = 2.1%
每提升 1 分 = 40 ÷ 2.125 ≈ 18.8 h
年省 = (210 − 118) × 12 = 1,104 美元
复测要留下同一张表的四次快照。 每季一张,四张叠起来才是趋势;只存最后一版,等于每年重新开始。
季度而不是每月。 一年 26 次发布的门禁已经守住日粒度;复测看的是趋势与阈值本身。一个月看不出趋势,一年只看一次又太晚。
复测不写代码。 60 分钟里发现的问题一律进下季度待办;否则一次复测会变成一次加塞的优化,下一次就不敢排进日历。
阈值一年调一次。 调整必须有外部依据:预算变了、用户变了、关键路径变了;不能因为「这个季度没达标」就把线往下挪。
第四次复测多做一件事。 把四次的值排成一条线,看哪一项在原地踏步;那就是下一年的第一优先级。
五、行动清单与复算验收
- 十项指标各写一行:口径、阈值、采集点、当前值。
- 每项阈值只写一个数,不写区间。
- 四维权重在年初定死,年内不改。
- 每季度第一个周一固定 1 小时复测,写进日历。
- 复测只重跑不改代码,发现的问题进下季度待办。
- 评分低于 3.0 的维度,下一季度的第一笔时间给它。
- 阈值每年调一次,且必须有外部依据。
- 十项之外的新指标,先当观察项跑两个季度再转正。
验收标准:能在一页纸上说清十个数的阈值、当前值与总分;抽查两个维度,都能复算出加权分。
使用边界与实操验收
这套评分是内部工具,不用于对外宣传、排名或与别人比较。
评分卡不替代单次验收。 它一年只更新四次,发布前的判断仍然靠门禁;一个看趋势,一个看当次,两个都要有。
十项覆盖关键路径,不覆盖长尾。 设置页、帮助中心、内部工具都不在名单里;它们变慢不会进分数,但用户仍会碰到,所以每季度要问一句「有没有新路径该进来」。
合成测试与 RUM 口径不同。 复测用同一套脚本、同一批机器,比的是自己跟自己;换成另一套工具,同一个页面可能从达标变成不达标,那不是回归。
阈值不是行业标准。 2.0 s、200 KB、400 ms 是在 344 个账号、120 个付费、五条路径这个规模下的取舍;产品变了,线要重画。
样本量要写在结论旁边。 月账单只有一个完整月,RUM 是 30 天 12,600 条;样本短的项,扣分要扣,结论要留余地。
分数低不等于要立刻优化。 1.90 到 4.03 花了一年 40 小时;如果某年只剩 10 小时,应该只做诊断与缓存两项(5 + 4 = 9 h),而不是把十项都碰一遍。
关键参考与核验范围
- MDN: Web Performance :用于说明首屏、加载与运行时性能的基本口径。
- Largest Contentful Paint :用于说明 LCP 的测量对象与 p75 取值。
- FinOps Framework :用于说明成本可见性、归因与优化的分层做法。
- AWS Well-Architected 成本优化支柱 :用于说明单位成本指标与预算的关系。
以上链接于 2026-10-26 实测可公开访问;未核验版本、功能范围与政策更新。核验日期:2026-10-26。
范围上只讨论十项指标的选取、四维加权与季度复测节奏,不讨论行业基准排名、性能测试工具选型与云厂商报价。
系列导航
- 上一篇:性能回归与门禁:一次发布后 p95 从 320 到 980
- 回到目录:一个人的性能与账单:4.2 秒的首屏、一千二百次查询与每月 210 美元
- 相关阅读:质量验收:十项检查、四维评分与一次季度复盘
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。