开始做页面性能优化之前,保存基线的核心做法是:在未改动的线上版本上,用固定工具、固定网络条件、固定页面状态连续采集一组指标,把原始数据、采集环境和页面版本一起归档。这样后续任何改动才有可比对象。基线不是一次测出来的一个数字,而是一份可以复现的记录。
把“优化完成”当成交付结果,验收时需要回答三个问题:改前是多少、改后是多少、差异是否来自改动本身。倒推下来,基线至少要包含以下资料:
如果这些资料缺失,改后数据变好也可能只是网络波动或缓存命中,无法归因。
常见做法可以归为两类,选择依据是你要验证的改动类型。
方法一:实验室环境单页基线。用同一台设备、同一浏览器、同一网络限速,对目标页面重复采集五到十次,取中位数并记录波动范围。适合验证代码层面的改动,例如压缩资源、调整加载顺序、减少阻塞脚本。适用条件是页面可稳定复现、不依赖真实用户分布。判断结果时看中位数变化是否超出基线自身的波动区间;如果改动前后的差异小于波动范围,就不能判定有效。
方法二:真实用户监控基线。在页面上部署性能采集脚本,按天或按周统计真实访问者的指标分布,例如75分位值。适合验证影响面较大的改动,例如图片策略、缓存策略、第三方脚本调整。适用条件是站点已有一定访问量,且能按页面类型、设备、地区拆分。判断结果时要同时看样本量和分布变化,样本太少时段之间的差异可能只是访问构成变化。
两种方法并不互斥。稳妥的做法是先有真实用户监控的长期趋势,再在改动前用实验室环境做一次定点快照,改动后用同样条件复测。
基线不可比,多数时候不是工具问题,而是采集条件变了。以下变量需要在记录中明确写出:
一个可执行的检查项:改动前把上述五项写成一张采集卡片,改动后逐项核对,任何一项不同,就要在结论里标注为不可直接比较。
保存基线不是一次性动作,而是验收流程的起点。建议在任务开始时就确定:谁负责采集、数据存在哪里、改动后由谁复测、以哪个指标作为通过标准。例如假设某页面优化目标是降低最大内容绘制时间,那么基线记录中应包含该指标的改前中位数与波动范围,改动后复测若中位数下降且超出波动范围,才视为通过;若只是单次采样变好,应继续观察。
比较时还要考虑季节与需求变化:同一页面在不同月份的访问构成、缓存命中率、第三方脚本行为都可能不同,改前改后的差异未必全部来自你的改动。把采集时间、样本量和外部变化一并写进结论,比只报一个百分比更可靠。
下一步:选定一个待优化页面,按上面的采集卡片跑一遍基线,把原始数据和环境信息存成一份独立记录,再开始改动。