Chrome控制台 网站性能优化指标一览

        打开chrome-》f12/右键查看元素-》NetWrok/网络   

        ctrl+F5 刷新网页,可以看到从输入url到页面资源请求并加载网页,用于查看资源加载,接口请求,评估网页、网站性能等,如下图:

request、stransferred、resources 的含义

        request()代表请求数量:点击上面可以单独查看各个request类型下的请求,request类型包含:xhr and fetch(接口请求)、Document、css、javaScript、Font、Image、Media、Manifest、web Socket、WebAssembly、other;

        stransferred(transferred over network):通过网络加载的资源大小。

        标识请求的资源的传输,可以看到资源大小

        resources(resources loaded by the page):统计的是前端页面加载的所有资源经过解压之后的原始大小。

以上说明来自Google官网: https://developers.google.com/web/tools/chrome-devtools/network/reference#uncompressed

https://stackoverflow.com/questions/56043151/what-is-the-difference-between-transferred-and-resources-in-chrome-devtools

DOMContentLoaded 和 Load 和 Finish的含义和区别

        DOMContentLoaded:DOM树构建完成。 即HTML页面由上向下解析HTML结构到末尾封闭标签。

        Load:页面加载完毕。 DOM树构建完成后,继续加载html/css 中的图片资源等外部资源,加载完成后视为页面加载完毕。

        DOMContentLoaded 会比 Load 时间小,两者时间差大致等于外部资源加载的时间。

        Finish: 是页面上所有 http 请求发送到响应完成的时间, HTTP1.0/1.1 协议限定,单个域名的请求并发量是 6 个,即 Finish 是所有请求(不只是XHR请求,还包括DOC,img,js,css等资源的请求)在并发量为6的限制下完成的时间。

        Finish 的时间比 Load 大,意味着页面有相当部分的请求量,

        Finish 的时间比 Load 小,意味着页面请求量很少,如果页面是只有一个 html文档请求的静态页面,Finish时间基本就等于HTML文档请求的时间。

        页面发送请求和页面解析文档结构,分属两个不同的线程,

Performance

Lighthouse

        Lighthouse 是 Google 开发的一款工具,用于分析网络应用和网页,收集现代性能指标并提供对开发人员最佳实践的意见。为 Lighthouse 提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。

        Lighthouse报告分析

        Lighthouse生成的分析报告,首先会根据自定义勾选的需要测试的指标进行总的打分(下图标1处,可以把分析报告进行导出结果等操作)。

        Lighthouse 会对选择进行分析的维度给出一个的评估得分,分值范围0-100。

        评分主要分为三个档次,分别用红黄绿三种颜色代表:

0 – 49(慢):红色 
​50 – 89(平均值): 橙色
​90 – 100(快): 绿色

        如果得分能达到 90 分以上(绿色),则说明网站应用在该方面的评估表现符合最佳实践。⚠️注: 如果没有分数或得分为 0,则很有可能是检测过程发生了错误,比如网络连接状况异常等。

点击 See calculator,查看具体打分规则如下:

1、Metrics指标说明

指标名称说明
首次内容绘制
FCP(First Contentful Paint)
浏览器首次绘制来自 DOM 的内容的时间,内容必须是文本、图片(包含背景图)、非白色的 canvas 或 SVG,也包括带有正在加载中的 Web 字体的文本。
这是用户第一次开始看到页面内容,但仅仅有内容并不意味着它是有用的内容(如 Header、导航栏等)。
最大的内容绘制
LCP(Largest Contentful Paint)
可视区域中最大的内容元素呈现到屏幕上的最长时间,用以估算页面的主要内容对用户可见时间。
LCP 考虑的元素包括: 元素 、元素内的<svg>元素 、元素、通过 url() 函数加载背景图片的元素、包含文本节点或其他内联文本元素子级的块级元素。
可交互时间
TTI (Time to Interactive)
指的是所有的页面内容都已经成功加载,且能够快速地对用户的操作做出反应的时间点。
网页第一次完全达到可交互状态的时间点,浏览器已经可以持续性的响应用户的输入。
完全达到可交互状态的时间点是在最后一个长任务(Long Task)完成的时间,并且在随后的 5 秒内网络和主线程是空闲的。
总阻塞时间
TBT (Total Blocking Time)
表示此次分析过程中遇到的阻塞时间。
度量了 FCP 和 TTI 之间的总时间,在该时间范围内,主线程被阻塞足够长的时间以防止输入响应。
只要存在长任务,该主线程就会被视为“阻塞”,该任务在主线程上运行超过 50 毫秒(ms)。
累积布局偏移
CLS(Cumulative Layout Shift)

CLS 会测量在页面整个生命周期中发生的每个意外的布局移位的所有单独布局移位分数的总和,它是一种保证页面的视觉稳定性从而提升用户体验的指标方案。
布局转移的发生是因为浏览器倾向于异步加载页面元素。页面上可能存在最初尺寸未知的媒体元素,这种组合意味着浏览器在完成加载之前不知道各个元素会占用多少空间。因此,布局会发生剧烈变化。
CLS的有趣之处在于它可以用各种工具进行客观的测量,但它也是以用户为中心的,因为每个用户的设备都会影响你的网站布局的变化。虽然不能控制这一方面,但肯定可以采取预防措施,使其影响尽可能小。

速度指标
SI(Speed Index)
衡量首屏可见内容绘制在屏幕上的速度。在首次加载页面的过程中尽量展现更多的内容,往往能给用户带来更好的体验,所以速度指标的值约小越好。

其他指标:

指标名称说明
首次CPU闲置
FCI(First CPU Idle)
指在页面加载期间,当页面的主要内容已经完成加载并且JavaScript代码已经执行完毕后,浏览器第一次空闲的时间点。
在这个时间点之后,页面可以响应用户的交互操作,比如点击按钮或输入文本。
首次绘制
FP (First paint)

指浏览器首次将像素渲染到屏幕上的时间点,也就是页面的第一个像素点被绘制的时间。
FP的发生时机取决于浏览器的渲染机制和页面的结构。
当浏览器开始加载页面时,会解析HTML和CSS,构建DOM和CSSOM树,然后将它们合并为渲染树。
当浏览器开始将渲染树渲染到屏幕上时,FP就发生了,在这个时刻,用户可以看到页面上的第一个像素点,也就是FP。
通常FP表现为白屏。

首次有效绘制
FMP(First Meaningful Paint)
浏览器在加载网页时,第一次将主要内容呈现给用户的时间点。
这个时间点通常是用户感知到页面加载速度的关键点之一,用户可以看到页面上的一些内容,并开始与页面进行交互。
FMP是通过一个算法来猜测某个时间点的,所以可能不准确,且在 Lighthouse 6.0中,FMP指标已被弃用。
文档内容加载完成
DCL(DOMContentLoaded )
DCL指的是HTML文档中的DOM树构建完成、CSS文件加载完成并解析、JavaScript文件加载完成并执行的时间点,它表示网页的主要内容已经加载完成,可以开始进行交互和操作。
首次输入延迟
FID(First Input Delay)
测量从用户第一次与页面交互,直到浏览器对交互作出响应,并实际能够开始处理事件处理程序所经过的时间。
FID测量页面加载期间响应度,它针对的交互是不连续操作对应的输入事件,如点击、轻触和按键。其他诸如滚动和缩放之类的交互属于连续操作并不包含在她的测量内。

2、指标衡量标准

lighthouse衡量标准
模式名称绿色快
首次内容绘制 FCP(First Contentful Paint)0–1.8(s)1.8–3> 3
最大的内容绘制 FCP(Largest Contentful Paint)0–2.5(s)2.5-4> 4
可交互时间 TTI(Time to Interactive)0–3.8(s)3.9–7.3> 7.3
总阻塞时间 TBT(Total Blocking Time)0–200(ms)200-600> 600
累积布局偏移 CLS(Cumulative Layout Shift)0–0.1(比例)0.1-0.25> 0.25
速度指标 SI(Speed Index)0-3.4(s)3.4-5.8> 5.8
首次CPU闲置 FCI(First CPU Idle)0–4.7(s)4.8-6.5> 6.5
首次有效绘制 FMP First Meaningful Paint0–2(s)2-4> 4
最大潜在首次输入延迟 MPFID Max Potential First Input Delay0–130(ms)130-250> 250
最大内容绘制 LCP (Largest Contenttful Paint)0–2.5(s)2.5-4>4

3、改进建议

Opportunity的建议可以帮助更快地加载页面,但它们不会直接影响性能得分。

        常见的可改进项有如下:

  • Use HTTP/2 ,HTTP/2 提供了许多优于 HTTP/1.1 的优点,包括二进制标头和多路复用。即现在用的是 HTTP/1.1,建议使用 HTTP/2。需要服务端配合改,目前不支持。
  • Minifying JavaScript ,精简js代码。
  • Reduce unused JavaScript ,减少未使用的 JavaScript 并推迟加载脚本,直到需要时才加载,以减少网络活动消耗的字节数(LCP)。即:删除无用的 JS,主要方法就是合理的代码分割和按需引入。
  • Enable text compression,基于文本的资源应该使用压缩(gzip等),以最小化网络总字节数(FCP,LCP)。即:配置 gzip压缩。
  • Eliminate render-blocking resources,列出了阻止页面首次绘制的所有 URL(FCP,LCP),通过内联关键资源、推迟非关键资源和删除任何未使用的内容来减少这些阻止渲染的 URL 的影响。即:合理加载资源,控制加载顺序。

        如何识别关键资源:使用 Chrome DevTools 中的 Coverage 选项卡来识别非关键 CSS 和 JS。当加载或运行页面时,该选项卡可以分析使用了多少代码,以及加载了多少代码,绿色(关键),红色(非关键 )

        如何消除渲染阻塞脚本:合理使用 async 或 defer 属性标记

        如何消除阻塞渲染的样式表:可使用 preload 链接异步加载其余样式,可查看推迟非关键 CSS

4、Diagnostics(诊断)

5、PASSED AUDITS( 审核通过)

        列举了在性能优化方面做的比较好的地方,常见项及说明如下(其实做性能优化的时候就可以参照这些方面):

  • Properly size images:适当大小的图像,避免字节浪费而减慢页面加载时间
  • Defer offscreen images:屏幕外图像延迟加载
  • Minify CSS:缩小 CSS 文件,减少网络负载大小
  • Minify JavaScript:缩小 JS 文件,减少有效负载大小和脚本解析时间
  • Reduce unused CSS:删除未使用的 CSS
  • Efficiently encode images:有效地图片编码和优化
  • Serve images in next-gen formats:以下一代格式提供图像
  • Enable text compression:启用文本压缩
  • Preconnect to required origins:预连接到所需的源
  • Initial server response time was short:初始服务器响应时间很短
  • Avoid multiple page redirects:避免多个页面重定向
  • Preload key requests:预加载关键请求
  • Use video formats for animated content:用视频替换动画 GIF
  • Remove duplicate modules in JavaScript bundles:删除 JavaScript 包中的重复模块
  • Avoid serving legacy JavaScript to modern browsers:避免向现代浏览器提供旧版 JavaScript
  • Preload Largest Contentful Paint image:预加载最大的内容绘制
  • Avoids enormous network payloads:避免巨大的网络负载
  • Uses efficient cache policy on static assets:对静态资产使用高效的缓存策略
  • Avoids an excessive DOM size:避免过大的 DOM 元素
  • User Timing marks and measures:用户计时标记和度量
  • JavaScript execution time:JavaScript 执行时间
  • Minimizes main-thread work:最小化主线程工作
  • All text remains visible during webfont loads:在 webfont 加载期间所有文本保持可见
  • Minimize third-party usage:尽量减少第三方使用
  • Lazy load third-party resources with facades:延迟加载第三方资源
  • Uses passive listeners to improve scrolling performance:使用被动侦听器来提高滚动性能
  • Avoids document.write():避免使用 document.write()
  • Image elements have explicit width and height:图像元素应具有明确的宽度和高度

6、可访问性(Accessibility)

Accessibility 辅助功能 : 主要针对无障碍设计,也称为网站可达性,是指所创建的网站对所有用户都可用/可访问,不管用户的生理/身体能力如何、不管用户是以何种方式访问网站。

参考文章:Lighthouse(灯塔)—— Chrome浏览器强大的性能测试工具_chrome lighthouse-CSDN博客

Google dev开发指南: web.dev/

如何看vue首页的加载速度 • Worktile社区

network其他模块介绍参考: Chrome DevTools谷歌浏览器开发者工具评估资源加载时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/33779.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

buu ciscn_2019_ne_5

下载附件然后checksec一下如图 32位的程序&#xff0c;nx保护开的&#xff0c;存在栈溢出&#xff0c;拖进ida32中看看 梳理思路&#xff1a; 简单分析并写个注释&#xff0c;这边梳理一下大致流程&#xff0c;先是输入一字符串&#xff0c;然后比对&#xff0c;然后再选择相…

如何降低DApp开发中的Gas费消耗?

Gas费是链上运行DApp时的一项关键成本&#xff0c;直接影响用户体验和应用的吸引力。过高的Gas费可能导致用户流失&#xff0c;尤其在交易密集型应用中。因此&#xff0c;优化Gas费已成为DApp开发者的重要任务。那么&#xff0c;怎样才能有效降低Gas费消耗呢&#xff1f; 1. 优…

CC工具箱使用指南:【湖北省村规结构调整表(D)】

一、简介 群友定制工具。 工具根据输入的现状用地和规划用地图层&#xff0c;生成村域和村庄建设边界内的结构调整表。 二、工具参数介绍 点击【定制2】组里的【湖北省村规结构调整表(D)】工具&#xff1a; 即可打开下面的工具框界面&#xff1a; 1、现状用地图层 2、现状…

逗号分隔、多级位置及局部更新的Sql实现

一、逗号分隔的字符串多值查询 1&#xff0c;背景 假设有一个表location_type_relation&#xff0c;其中有1个字段location_ids&#xff0c;用逗号分隔了多个标签&#xff0c;还有1个字段type_ids&#xff0c;也是用逗号分隔了多个标签 2&#xff0c;需求 现在要判断locat…

flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示

flink-connector-mysql-cdc&#xff1a; 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本&#xff1a;3.2.0 flink版本&…

工业-实时数据采集

1.编写新的 Flume 配置文件&#xff0c;将数据备份到 HDFS 目录 /user/test/flumebackup 下&#xff0c;要求所有主题 的数据使用同一个 Flume配置文件完成。 1. 配置概览 Flume 的主要任务是从多个来源&#xff08;如日志文件&#xff09;读取数据&#xff0c;经过处理后通过…

mmdet 加载预训练模型多卡训练过程中,存在显卡占用显存不均匀

1. 问题描述 基于mmdet https://github.com/open-mmlab/mmdetection代码仓库&#xff0c;修改了自己的检测代码&#xff0c;加载了预训练模型&#xff0c;进行分布式训练。 在训练过程中&#xff0c;出现了显卡的占用显存不均匀的问题。 如图所示&#xff0c;可以看到显卡2 占…

使用ALB将HTTP访问重定向至HTTPS

HTTPS是加密数据传输协议&#xff0c;安全性高。当企业进行HTTPS安全改造后&#xff0c;为了方便用户访问&#xff0c;可以使用ALB在用户无感知的情况下将HTTP访问重定向至HTTPS。 前提条件 您已创建ALB实例&#xff0c;并为该实例添加了HTTP监听和监听端口为443的HTTPS监听。…

力扣92.反转链表Ⅱ

题目描述 题目链接92. 反转链表 II 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left …

Java版-速通ETL工具中简单的DAG执行实现

DAG作用 在ETL工具中&#xff0c;一般使用DAG图来进行任务的配置&#xff0c;将任务配置在有向无环图中&#xff0c;执行时候从首层节点&#xff0c;依次往下&#xff0c;下层节点的执行依赖于父节点是否执行完毕的状态&#xff0c;当最后一层的节点执行完成之后&#xff0c;整…

Web安全深度剖析

1.Web安全简介 ​ 攻击者想要对计算机进行渗透&#xff0c;有一个条件是必须的&#xff0c;就是攻击者的计算机与服务器必须能够正常通信&#xff0c;服务器与客户端进行通信依靠的就是端口。 ​ 如今的web应该称之为web应用程序&#xff0c;功能强大&#xff0c;离不开四个要…

策略模式的理解和实践

在软件开发中&#xff0c;我们经常遇到需要在不同算法之间进行选择的情况。这些算法可能实现相同的功能&#xff0c;但使用不同的方法或逻辑。为了增强代码的可维护性和可扩展性&#xff0c;我们可以使用设计模式来优化这些算法的实现和管理。策略模式&#xff08;Strategy Pat…

在 Linux 环境下搭建 OpenLab Web 网站并实现 HTTPS 和访问控制

实验要求 综合练习&#xff1a;请给openlab搭建web网站 ​ 网站需求&#xff1a; ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c…

Java开发利器:IDEA的安装与使用(下)

文章目录 8. 快捷键的使用8.1 常用快捷键8.2 查看快捷键8.3 自定义快捷键8.4 使用其它平台快捷键 9. IDEA断点调试(Debug)9.1 为什么需要Debug9.2 Debug的步骤9.3 多种Debug情况介绍9.3.1 行断点9.3.2 方法断点9.3.3 字段断点9.3.4 条件断点9.3.5 异常断点9.3.6 线程调试9.3.7 …

非对称任意进制转换器(安卓)

除了正常进制转换&#xff0c;还可以输入、输出使用不同的数字符号&#xff0c;达成对数值进行加密的效果 点我下载APK安装包 使用unity开发。新建一个c#代码文件&#xff0c;把代码覆盖进去&#xff0c;再把代码文件添加给main camera即可。 using System.Collections; usin…

神经网络入门实战:(十四)pytorch 官网内置的 CIFAR10 数据集,及其网络模型

(一) pytorch 官网内置的网络模型 图像处理&#xff1a; Models and pre-trained weights — Torchvision 0.20 documentation (二) CIFAR10数据集的分类网络模型&#xff08;仅前向传播&#xff09;&#xff1a; 下方的网络模型图片有误&#xff0c;已做修改&#xff0c;具…

linux 系列服务器 高并发下ulimit优化文档

系统输入 ulimit -a 结果如下 解除 Linux 系统的最大进程数 要解除或提高 Linux 系统的最大进程数&#xff0c;可以修改 ulimit 设置和 /etc/security/limits.conf 文件中的限制。 临时修改 ulimit 设置 可以使用 ulimit 命令来查看和修改当前会话的最大进程数&#xff1a; 查…

Elasticsearch数据迁移(快照)

1. 数据条件 一台原始es服务器&#xff08;192.168.xx.xx&#xff09;&#xff0c;数据迁移后的目标服务器&#xff08;10.2.xx.xx&#xff09;。 2台服务器所处环境&#xff1a; centos7操作系统&#xff0c; elasticsearch-7.3.0。 2. 为原始es服务器数据创建快照 修改elas…

基于 SpringBoot 构建校园失物招领智能平台:优化校园失物处理流程

4系统设计 4.1系统概要设计 本文通过B/S结构(Browser/Server,浏览器/服务器结构)开发的该校园失物招领系统&#xff0c;B/S结构的优点很多&#xff0c;例如&#xff1a;开发容易、强的共享性、便于维护等&#xff0c;只要有网络&#xff0c;用户可以随时随地进行使用。 系统工作…