Lighthouse-Web性能工具

简介:

Lighthouse 是一个开源的自动化工具,用于改进网络应用的质量。只要为 Lighthouse 提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。

安装

方法一.Chrome 扩展程序

需翻墙,插件链接:https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk

点击此图标后,您应看到一个菜单。如果您在工具栏上没有看到此图标,它可能隐藏在 Chrome 的主菜单中。

点击此图标后,您应看到一个菜单。

如果您想仅运行审查的子集,则点击 Options 按钮并停用您不关注的审查。

点击 Generate report 按钮以针对当前打开的页面运行 Lighthouse 测试。在完成审查后,Lighthouse 将打开一个新标签,并在页面的结果上显示一个报告。

方法二.命令行工具

安装 Node,需要版本 5 或更高版本。安装 Lighthouse 作为一个全局节点模块。

npm install -g lighthouse

安装完成后使用--help查看可用的输入和输出选项。

lighthouse --help

针对一个页面运行 Lighthouse 审查。

lighthouse https://www.baidu.com/

报告分析

测试结束后,默认会生成 HTML 格式的报告,如下图所示,在报告中涵盖了 5 大类别(categories)的测试评分:

每个类别都包含一系列的审计项(audit),针对审计项的运行结果,Lighthouse 会给出特定的优化建议与诊断结果帮助开发者有针对性地进行优化。

Lighthouse评分计算器:https://web.dev/performance-scoring/


性能指标(Performance)

First Contentful Paint (FCP)

First Contentful Paint(FCP)测量用户导航到您的页面后浏览器呈现第一段DOM内容所花费的时间。

Speed Index

速度索引用于衡量页面加载过程中内容可视化显示的速度。Lighthouse首先捕获浏览器中加载页面的视频,然后计算帧之间的视觉进度,最后生成Speed Index得分。

Speed Index得分是基于HTTP Archive中数据的页面速度指数与实际网站的速度指数的比较

Largest Contentful Paint (LCP)

LCP 报告在视窗内可见的最大图像或文本块的渲染时间。

Time to Interactive

TTI 测量页面变为完全可交互所花费的时间。在以下情况下,页面被认为是完全可交互的:

该页面显示除了可以用的内容

已为大多数可见的页面元素注册了事件处理程序

该页面在 50 毫秒内响应用户交互

Total Blocking Time

TBT 是度量阻止页面响应用户输入(例如鼠标单击,屏幕敲击或键盘按压)的总时间。该指标是First Contentful Paint和Time to Interactive总和。

任何执行时间超过50毫秒的任务都是一项漫长的任务。50 ms之后的时间是阻塞部分。例如,如果Lighthouse检测到70 ms长的任务,则阻塞部分将为20 ms。

Cumulative Layout Shift (CLS)

CLS 测量在页面的整个生命周期中发生的每个意外布局移位的得分的总和。

为了提供良好的用户体验,网站应努力使CLS分数小于0.1。为了确保大多数用户都能达到这个指标,一个很好的测量阈值是75%的页面加载。

性能优化建议

在这里面可以看到给出各个方面的建议,比如图片、css、js这些文件的处理,还有html里面标签的使用,缓存处理等建议,可以根据这些来对网站进行优化。

思考拓展:

Lighthouse如何使用网络限制,使它变得更好?

默认情况下,在Lighthouse运行中应用网络和CPU限制。网络尝试模拟缓慢的4G连接,并且CPU的速度比计算机的默认速度慢。如果希望在不进行限制的情况下运行Lighthouse,则必须使用throttling.*标志禁用它。

你可能感兴趣的:(Lighthouse-Web性能工具)