页面加载速度测试要排除缓存假象,核心做法是让测试请求绕过本地、中间层和站点层缓存,并对比“首次访问”和“重复访问”两组数据。如果两次结果差距很大,说明你之前的测试很可能测的是缓存版本,而不是真实用户的首次加载体验。
浏览器缓存、CDN缓存、服务器端页面缓存、对象缓存都会让同一个URL在第二次请求时变快。测试工具如果复用了已缓存的资源,你看到的加载时间可能只有真实首次访问的一小部分。常见现象包括:
这些现象只能说明缓存可能参与了结果,不能直接断定缓存就是唯一原因。网络波动、服务器负载、测试节点位置也会影响数值。
在浏览器开发者工具中打开网络面板,勾选“禁用缓存”(Disable cache),然后刷新页面。这一步能排除浏览器本地缓存的影响。观察指标时重点看:
如果禁用缓存后速度大幅下降,说明之前的快来自浏览器缓存。此时还不能下结论,因为CDN和服务器缓存仍然可能生效。
三种缓存的作用位置不同,排查方式也不同:
?nocache=123,让CDN把它当作新资源。适用条件是判断边缘节点是否返回了旧副本。注意:加随机参数只对部分缓存策略有效,不能保证绕过所有缓存。如果站点使用 <h2> 这类结构做片段缓存,随机参数可能仍然命中同一缓存键。
比较两种处理方案时,建议分别记录:
判断结果的方式:如果冷启动明显慢于热启动,说明缓存对速度贡献大,优化重点应放在首次加载路径上,例如减少阻塞资源、压缩图片、启用预连接。如果两者差距很小,说明缓存不是主要变量,应继续检查服务器响应时间、网络延迟和第三方脚本。
适用条件:这种方法适合比较“开启缓存”和“关闭缓存”两种处理方案。它不适用于判断缓存是否安全,也不适用于评估索引或排名影响。
完成对比后,你会得到两组可复现的数据。下一步是根据冷启动数据定位真正的瓶颈,而不是继续用带缓存的测试结果做优化决策。