看到 Lighthouse 给你网站得各方面都开 100 分得绿灯心里是不是美滋滋的?首先,你能真的做好我只能说牛B,不过你也要知道,这只是性能表现的一部分。我早期在WordPress网站性能优化的帖子上就说过,这个分数其实不用特别在意它,它只是一个参考数据而已。当然你也不能差到 30 分,20 分,这就过分了…
所以这次我们来了解一下,Lighthouse 的评分和其他工具的有所不同,这对性能指标的测量有何影响,以及为什么需要真实用户监测(RUM)。
Lighthouse 得 100 分意味着什么?
网站的加载速度说过很多次是非常重要的了,而 Lighthouse 就是我们最常用来评估网站性能的工具。按理来说,各个选项都出现满分是最理想的状态,这代表我们网站各方面都做得非常好。
不过别忘了,Google Lighthouse 只是众多性能测试工具中的一种。它并不能完整呈现网站在现实世界中的运行状况。当然,我们可以通过它获得大量关于网站性能的洞察,甚至发现需要解决的问题来加速网站,但归根结底,这仍然是不完整的图景。
为什么都选择 Google Lighthouse ?
我每天都能看到有人在社交媒体上炫耀自己在 Lighthouse 上的满分截图。它知名的原因很简单,谷歌开发做得还不够吗?
打开 Google Chrome 的开发者工具,点击 “Lighthouse” 选项卡,然后生成一份报告。你甚至可以通过多种方式配置 Lighthouse,例如模拟较慢的网络连接速度,或者分别生成针对移动设备和桌面设备的报告。
这是一款非常强大的工具,而且还集成在免费的浏览器中。它也嵌入在 Google 的 PageSpeed Insights 工具里,它的核心引擎。
此外,Lighthouse 的运行速度非常快。运行一次 Lighthouse 报告,只需几秒钟就能得到结果。相比之下,使用其他工具生成报告时,等的时间可能够你去喝杯咖啡…
毫无疑问,Lighthouse 在许多方面都非常出色,比如:
- 易于访问:只需右键点击浏览器,选择“检查”,就能在开发者工具中找到它,一键启动。
- 灵活配置:提供丰富的设置,适用于不同程度的问题排查。
- 实用建议:分析页面性能时,提供大量有用的信息和优化建议。
- 离线分析:甚至可以分析未发布或不可见的网站。
- 快速生成报告:几秒钟内完成,还可以导出为多种格式。
- 满分体验:当你看到那醒目的绿色 100 分时,岂不是倍感满足?
不过要提醒你,它的评分可能无法完全反映现实,甚至可能与你在其他工具(包括 Google 自家的 PageSpeed Insights)上得到的评分不一致。
为什么不应该就用 Lighthouse 来分析网站速度?
并不是说你要完全放弃使用 Lighthouse,因为在许多情况下,尤其是在开发环境中,它可能是我们唯一的选择。我要提醒的是,Lighthouse 并不能提供全面甚至始终可靠的页面优化情况。
1. 它不测量真实数据
Lighthouse 生成报告所依赖的是所谓的“模拟数据”,而这些数据顾名思义,是虚拟的。这也是 Lighthouse 速度快的原因之一。
Lighthouse 允许你配置“限制”网络连接速度,以模拟不同的网络条件(比如较慢或较快的连接速度)。虽然这些模拟有助于发现潜在的性能问题,但它们并不是基于真实用户访问你网站时的实际情况。
默认情况下,Lighthouse 收集的数据基于快速网络连接,但我们也可以在性能选项卡进行配置,使其模拟更慢的连接速度,从而获得关于页面加载缓慢时的相关信息。不过 Lighthouse 会根据模拟的网络连接条件重新计算页面加载速度。再次重复:这种模拟能帮助我们发现潜在的性能问题,但由于它基于假设环境,结果可能与真实用户的实际体验存在差异。
这种模拟测试非常适合在短时间内快速评估特定的人工条件下的网站性能。
如果想要更贴近真实情况地运行 Lighthouse 测试,可以尝试使用一些在线工具,例如 GTMetrix 或功能非常全面但运行速度较慢的 WebPageTest。这些工具可以为你提供更准确的结果,同时考虑更真实的网络和设备条件。
2. Lighthouse 不影响 Core Web Vitals 的评分
Core Web Vitals 是 Google 用来衡量网站性能的标准化指标。它比简单的「页面加载时间为 X 秒」的报告更细节。
Lighthouse 生成的模拟数据通常与其他工具提供的性能指标存在差异。因为 Core Web Vitals 基于来自 Chrome 用户体验报告(CrUX)的真实用户数据,这些数据每月更新一次。CrUX 数据反映了真实用户在不同浏览条件下如何与网站互动,而 Lighthouse 则依赖于特定的网络和硬件条件进行模拟测试。
在现实中,用户在特定页面上可能会有多次不同的体验。并不会打开一个网站等它加载完后就关了,用户肯定会进行某方面的互动或某些操作。而对于 Core Web Vitals 中衡量页面绘制响应用户交互速度的指标(例如 交互后的下一次绘制,INP),Lighthouse 无法衡量这一点。包括 累计布局偏移(CLS)这样的指标上,需要用户向下滚动才能看到。
那么,Lighthouse 还值得使用吗?
尽管有局限性,Lighthouse 的报告在分析页面优化时是一个很好的简单起点。Lighthouse 的报告非常适合快速生成分析报告,因为它使用的是模拟数据。要获得更准确的图像,我们需要依赖于真实用户数据的工具。集成 CrUX 数据的工具。这些数据每月更新一次(准确来说是每 28 天),可能无法马上反映最新用户的互动。
你需要通过实时监控工具扩展你的结果并诊断性能,以获得更完整和更准确的图像,比如 PageSpeed Insights、WebPageTest 或 GTMetrix。