Total Blocking Time

总阻塞时间 (TBT) 是 Lighthouse 报告的性能部分跟踪的指标之一。每个指标都会捕获网页加载速度的某个方面。

Lighthouse 报告会显示以毫秒为单位的 TBT:

Lighthouse 总阻塞时间审核的屏幕截图

TBT 衡量的内容

TBT 衡量的是网页被禁止响应用户输入(例如鼠标点击、屏幕点按或键盘按下操作)的总时长。总和的计算方法是:将 First Contentful PaintTime to Interactive 之间所有长任务阻塞部分相加。任何执行时间超过 50 毫秒的任务都是耗时较长的任务。50 毫秒之后的时间属于阻塞部分。例如,如果 Lighthouse 检测到时长为 70 毫秒的任务,则阻塞部分将为 20 毫秒。

Lighthouse 如何确定您的 TBT 得分

TBT 得分是网页的 TBT 时间与在移动设备上加载时数以百万计的实际网站数的比值。如需了解如何设置 Lighthouse 得分阈值,请参阅如何确定指标得分

下表展示了如何解读 TBT 分数:

TBT 时间
(以毫秒为单位)
颜色编码
0 - 200 绿色(快速)
200-600 橙色(中等)
600 多个 红色(慢)

如何提高 TBT 分数

如需了解如何使用 Chrome 开发者工具的“性能”面板诊断长时间运行的任务的根本原因,请参阅导致任务过长的原因是什么?

通常,造成任务耗时较长的最常见的原因包括:

  • 不必要的 JavaScript 加载、解析或执行。分析“Performance”面板中的代码时,您可能会发现主线程执行的工作并不是加载页面所必需的。通过代码拆分减少 JavaScript 载荷移除未使用的代码高效加载第三方 JavaScript,应该可以提高 TBT 得分。
  • 低效的 JavaScript 语句。例如,分析“性能”面板中的代码后,假设您看到对 document.querySelectorAll('a') 的调用会返回 2000 个节点。重构代码以使用仅返回 10 个节点的更具体的选择器,应该可以提高 TBT 分数。

如何提高总体效果得分

除非您有明确的理由关注某个特定指标,否则通常最好专注于提高总体性能得分。

使用 Lighthouse 报告的优化建议部分可确定哪些改进能给您的网页带来最大的价值。优化建议越重要,对性能得分的影响就越大。例如,下面的 Lighthouse 屏幕截图显示消除阻塞渲染的资源将实现最大的改进:

Lighthouse:“优化建议”部分

请参阅“性能审核”着陆页,了解如何解决 Lighthouse 报告中发现的机会。

资源