在动手做任何性能提升之前,先把当前状态完整记录下来,形成一份可对比的基线。基线不是“感觉现在挺慢”,而是一组在固定条件下采集到的可量化数据:响应时间、资源体积、请求次数、错误率、关键路径耗时等。保存基线的目的是让后续每一次改动都有参照物,能判断改动是否真的有效,而不是被主观印象或环境波动误导。多人协作时,基线还是交付物的一部分,谁改了、改前什么样、改后什么样,都能对齐,减少返工。
假设一个团队要优化某产品页的加载表现,成员A压缩图片,成员B调整脚本加载顺序,成员C改缓存策略。如果没有人先保存基线,三人都凭“改完应该更快”汇报,合并后没人能说清整体是变快还是变慢,出了问题也无法定位是哪一项改动引入的。正确做法是:在任何人动手前,由一人负责采集并归档基线数据,其余人基于同一份基线各自记录改动前后的对比。
基线数据要覆盖你打算优化的目标,同时记录采集条件,否则数据不可比。建议至少包括:
采集次数建议重复多次取中位数,单次结果容易受网络抖动影响。把原始数据和汇总值一起保存,便于复核。
这样做的判断结果是:如果改动后中位数明显优于基线,且超出正常波动范围,可以认为改动有效;如果差异在波动范围内,不能下结论,需要增加采集次数或延长观察。适用条件是采集条件必须一致,条件变了,对比就失去意义。
最常见的错误是边改边测:先改了一部分再想起来记录“原始值”,此时数据已被污染,无法还原真正的起点。另一个错误是只记一个数字,不记条件,换台机器或换个网络再测,结果对不上。还有人不保存原始数据,只留一个平均值,后续无法判断异常。
交付前可以逐项检查:
最后一点尤其容易被忽略:如果两次采集间隔较长,访问量本身可能因外部因素变化,导致指标波动并非来自你的改动。此时应尽量缩短对比周期,或在同一时间段重复验证。
现在就打开你要优化的页面,在任何人改动之前,按上面的清单采集一轮数据并归档。把基线文件放进团队共享位置,约定后续每次改动都附上与基线的对比结果,再开始第一项性能提升操作。