处理页面加载速度的重复或冲突信号,核心原则是:先判断这些信号是否指向同一个真实瓶颈,再决定合并还是取舍。如果两个信号测量的是同一件事,比如两个工具都报告首屏渲染慢,应合并为一个可执行结论;如果信号互相矛盾,比如实验室数据显示很快而真实用户数据显示很慢,则要取舍,以真实用户数据为准,实验室数据仅作参考。不要同时按两套结论去改代码,否则会反复推翻。
重复信号是不同来源给出了方向一致的结论。例如 Lighthouse 和 PageSpeed Insights 都提示图片未压缩,这属于重复,处理方式是合并成一条任务,只改一次。冲突信号是不同来源结论相反。例如本地测试显示加载只需 1.2 秒,但真实用户监控显示移动端普遍超过 4 秒。这类冲突不是数据错误,而是测量条件不同。
判断方法:把每个信号拆成三项——测量环境、样本来源、指标定义。三项都相同或接近,才算重复;有一项明显不同,就要按冲突处理。
当多个信号指向同一资源、同一指标、同一设备类型时,适合合并。典型场景:压缩工具、构建报告、浏览器面板都指出同一个 JavaScript 文件体积过大。合并后只保留一个验收标准,例如该文件传输体积降到某个阈值以下。
代价是可能忽略边缘情况。比如桌面端和移动端都报告图片慢,合并成一条“压缩图片”任务后,可能漏掉移动端还需要调整尺寸的问题。因此合并时要确认:受影响的页面模板、设备类型、网络条件是否一致。不完全一致时,合并范围要缩小。
当信号来自不同测量体系时,必须取舍。常见冲突有两类:
取舍的代价是放弃另一方的细节。以真实用户数据为准时,可能暂时不知道具体是哪张图片慢,需要再用实验室工具复现。因此取舍后应补一步定位,而不是直接改代码。
举例说明(以下为假设场景):某页面在本地测试中加载为 1.5 秒,在真实用户监控中移动端为 4.5 秒。两者冲突。处理方式:以真实用户数据为准,认定移动端存在速度问题;再用实验室工具模拟移动网络复现,定位到首屏大图未压缩。此时两个信号不再冲突,而是分别承担“判断严重程度”和“定位原因”的角色。
判断结果可以简化为:同源同义则合并,异源异义则取舍,定义不同则先统一口径。合并后只留一个验收标准,取舍后必须补一次定位测量。
下一步:选一个当前冲突最明显的页面,按上面的步骤把信号分组,写下你采用的那一个结论和放弃它的理由,然后用同一套测量条件复测一次,确认改动是否让该信号发生预期变化。