同一个网页放到不同测速工具里,经常会出现完全不同的结果:PageSpeed Insights移动端可能只有六七十分,Chrome里的Lighthouse却能跑到九十分,换成GTmetrix或WebPageTest后,LCP、加载时间甚至问题建议又会发生变化。
这并不意味着其中某个平台测试错误。网页性能测试高度依赖设备性能、网络速度、测试地点、缓存状态、浏览器环境以及具体测试方法。PageSpeed Insights和Lighthouse尤其容易被放在一起比较,但严格来说,两者并不是两套互相竞争的性能检测系统。

PageSpeed Insights和Lighthouse是什么关系
Lighthouse是Google维护的开源网页质量审核工具,可以分析Performance、Accessibility、Best Practices、SEO等多个方面。它可以直接运行在Chrome DevTools中,也可以通过命令行、Node模块以及持续集成流程运行。
PageSpeed Insights,通常简称PSI,则是Google提供的在线网页分析服务。PSI的实验室性能诊断本身使用的就是Lighthouse,同时还会在条件满足时展示Chrome User Experience Report,也就是CrUX中的真实用户体验数据。
因此,更容易理解的关系是:
Lighthouse更接近一套“网页审核引擎和开发工具”。
PageSpeed Insights是一个面向网站管理者和开发者的在线服务,其中使用了Lighthouse进行实验室分析,并结合CrUX数据展示真实用户表现。
这也是为什么两者报告中的Performance、LCP、CLS、TBT以及各种优化建议看起来非常相似。
两者真正的区别在哪里
| 比较项目 | PageSpeed Insights | Lighthouse |
|---|---|---|
| 产品形式 | Google在线测试服务 | 开源网页审核工具 |
| 实验室测试 | 使用Lighthouse完成 | 自身执行 |
| 真实用户数据 | 可显示CrUX数据 | 单独运行时主要是实验室数据 |
| 运行位置 | Google测试环境 | 可在本地Chrome、命令行或CI环境运行 |
| 测试本地网页 | 不适合 | 可以 |
| 需要登录的页面 | 通常不适合 | DevTools中可以在当前登录环境测试 |
| 自动化能力 | 可通过API使用 | CLI、Node和Lighthouse CI更灵活 |
| 主要用途 | 快速检查线上网页及真实用户体验 | 开发、调试和自动化性能检查 |
如果只是网站运营人员检查一个公开页面,直接使用PageSpeed Insights通常更加方便。输入网址就可以获得移动端、桌面端结果,并查看真实用户数据和实验室诊断。
开发人员的需求则不一样。例如测试尚未上线的开发环境、登录后的后台页面,或者希望把性能检查加入CI流程,这时直接使用Lighthouse往往更加合适。
为什么两个工具的分数会不同
即使PSI使用Lighthouse作为分析基础,也不代表在PageSpeed Insights和自己电脑的Chrome中运行Lighthouse一定会得到完全相同的分数。
网页性能不是一个固定值。测试机器CPU性能、网络条件、浏览器版本、Lighthouse版本、当前服务器负载、缓存、第三方脚本响应速度以及测试过程中的网络波动,都可能改变结果。
本地Lighthouse还会受到本机环境影响。例如高性能桌面电脑与普通笔记本,即使使用相似的节流设置,也不意味着所有运行条件完全一致。
因此,不建议把“PSI 75分、Lighthouse 91分”理解成其中一个结果不准确。更有价值的是观察哪些指标持续存在问题,以及修改代码后在相同测试条件下是否得到稳定改善。
实验室数据和真实用户数据要分开看
判断网页速度时,一个很容易出现的误区是只盯着Lighthouse的Performance分数。
Lighthouse测试属于实验室测试,也就是在设定好的设备和网络条件下模拟一次网页加载。它最大的价值是容易重复,修改图片、JavaScript、CSS或服务器配置后,可以马上重新运行测试检查变化。
CrUX则反映真实Chrome用户访问网站时形成的数据。PageSpeed Insights目前会显示过去28天采集周期中的真实用户体验,并以第75百分位数判断LCP、INP和CLS等指标表现。
两种数据回答的问题并不一样。
实验室数据更适合回答“这个页面现在可能哪里有性能问题”。
真实用户数据更适合回答“真实访问者过去一段时间实际体验怎么样”。
网站刚完成一次性能优化后,Lighthouse测试可能马上改善,而CrUX不会立即全部改变,因为它观察的是一段时间内累计形成的真实访问数据。
另外,并不是每个网页都有足够的CrUX样本。如果PageSpeed Insights没有显示特定URL的真实用户数据,并不能据此认为页面没有性能问题,这时仍然需要依靠实验室测试进行诊断。
常用网页性能测试平台有哪些
除了PageSpeed Insights和Lighthouse,目前比较常见的网页性能分析方案还包括WebPageTest、GTmetrix以及Chrome DevTools Performance。虽然它们都会显示一些相似指标,但真正擅长解决的问题并不相同。
| 工具 | 比较适合的用途 | 主要特点 |
|---|---|---|
| PageSpeed Insights | 站长快速检查、Core Web Vitals分析 | 结合Lighthouse实验室诊断与CrUX真实用户数据 |
| Lighthouse | 开发阶段性能审核 | 可在DevTools、CLI和CI环境中使用 |
| WebPageTest | 深入分析加载过程 | 测试地点、浏览器、网络条件、Waterfall、Filmstrip和视频分析 |
| GTmetrix | 可视化报告、定期监控 | Lighthouse指标、CrUX、Waterfall、视频、历史记录和全球测试节点 |
| Chrome DevTools Performance | 前端代码和运行时问题定位 | 主线程、网络活动、CPU、渲染、交互和Performance Trace分析 |
测试网站速度到底哪个平台更好
如果必须选择一个最容易作为起点的工具,PageSpeed Insights更适合大多数网站站长。它不需要安装环境,既能看到Lighthouse诊断,又能在数据充足时看到真实用户的Core Web Vitals。
但真正进行性能优化时,只使用PSI通常不够。
只是想快速判断线上网页表现:优先PageSpeed Insights。
正在开发网页并反复修改代码:使用Lighthouse。
想知道具体哪个请求拖慢页面:使用WebPageTest。
需要分析JavaScript、主线程和交互卡顿:使用Chrome Performance。
需要定期检测、历史曲线和可视化报告:可以考虑GTmetrix。
实际工作中更合理的组合通常是先用PageSpeed Insights确认问题,再用WebPageTest或Chrome DevTools定位原因,修改之后通过Lighthouse反复验证。对于需要持续监控的网站,再增加GTmetrix一类监控服务。
不要把100分当成唯一目标
Lighthouse Performance达到100分并不代表世界各地所有真实用户都会快速打开网站,同样,某一次PSI只有七八十分也不能单独证明网站整体体验一定很差。
性能优化更应该关注LCP、INP、CLS、服务器响应、关键资源加载顺序、JavaScript执行以及真实用户数据是否持续改善。测试时还应尽可能保持设备、网络、地点和缓存条件一致,否则前后两次分数变化可能只是测试环境造成的波动。
对于普通站长,PageSpeed Insights已经是很合适的入口;对于需要真正找到网页为什么慢的开发人员,Lighthouse、WebPageTest和Chrome Performance各自解决的是不同层级的问题。与其寻找一个“最准的测速网站”,不如先确定自己究竟要判断真实用户体验,还是要定位某一次页面加载中的技术瓶颈。
poxiaoxi博客
精彩评论