从0到1搞定前端性能测试(非常详细)

news2024/10/5 12:45:01

提到性能测试大家往往会想到多用户使用系统时对服务器后端的性能测试,前端页面的性能往往容易被忽视,但是如果存在性能问题,就算后端服务器性能再好,用户的体验也是极差的。并且随着现在富前端和大前端的流行,前端系统越来越复杂,性能问题也越来越多,所以及时发现并修复性能问题是非常重要的。本文介绍了应用前端的性能指标、测试前端性能的方法以及常见前端问题的具体修复方案,希望通过本文能够帮助前端研发人员和测试人员了解前端性能优化的过程和具体方法

前端性能测试关注什么

简单的说,前端性能测试主要关注页面的加载性能,包括页面的资源(如图片、脚本、样式表等)的加载、页面请求的响应时间等;另外还需要关注:

页面的渲染性能,包括:测试页面的渲染时间,包括DOM树的构建、CSS样式计算、布局和绘制等;如果更深入一些可以关注 网络连接情况,包括:DNS时间,连接时间和等待时间等。

Web指标

相信大家对后端性能测试的指标比较熟悉,例如并发数,响应时间和系统的处理能力,通过这些指标我们就可以判断出并发使用系统的性能优劣,同样前端性能测试也有类似的web指标。google提出的三个核心Web 指标是LCP、FID、 CLS,通过这三个指标我们也可以判定出应用前端性能的优劣,更多前端详细性能指请标参考文章:

一文带大家了解前端性能测试所涉及的核心性能指标:LCP、FID、CLS、TBT、TTI、FCP、TTFB

前端性能测试利器Lighthouse

做并发性能测试时,我们使用工具jmeter 、loadrunner;而做前端性能测试时,我们使用Lighthouse即可,他是google的开源自动化工具,从Chrome浏览器的 DevTools 就可以启动 Lighthouse,使用Lighthouse会生成页面的性能测试报告并提供详细的修复方案。Lighthouse测试依据是前面介绍的三个核心Web指标:LCP、FID、CLS。关于Lighthouse的详细使用可以参考文章:

详解前端页面性能测试方案——开源工具Lighthouse

前端性能问题优化方案

前面讲解了什么是前端性能测试,前端性能测试的核心指标以及前端性能测试工具,接下来我们看看如何对前端性能问题进行优化:

前端优化主要包括:

减少 HTTP 请求、压缩文件大小、使用浏览器缓存、优化图片、JavaScript和CSS、延迟加载、优化字体等等。

整体原则:把长任务(超过50ms)拆分成小任务、优化JavaScript、 优化CSS以及资源加载速度进而提升FCP、LCP、FID和CLS等核心参数。更多内容可以参考文章:

JS 和CSS 代码利用率统计与优化

详解JS 和CSS 代码利用率统计利器Coverage以及高版本chrome中coverage的一个致命问题

优化过程中,使用defer和async进行延迟加载

两张图搞定前端面试特别常重要的知识点:defer和async的区别
 

关于前端性能问题的优化策略可以参考文章:

前端同学福利!详解lighthouse发现性能问题的修复方案!

前端性能优化调试工具推荐

各个浏览器的开发者工具(推荐chrome 的开发者工具),关于chrome的开发者工具使用就不多说了,相信能够阅读这篇文章的同学都会使用。推荐打击使用Chrome Performance insight,详情参考文章:

献给前端研发同学的福利!性能诊断神器——Chrome Performance insight!

通过RUM对生产环境前端进行监控

最后讲解一下大厂对前端问题的监控方案—RUM。RUM的英文全称是 Real User Monitoring, RUM的作用就是捕获和分析用户与前端(包括网站,苹果应用,安卓应用,微信小程序)的所有交互细节,旨在提高前端产品的可用性、提升用户体验。提升前端体验的方式非常多,可以优化数据库、优化接口调用,那为什么要 RUM 呢?其实主要还是 RUM 更直接,更直接的反应了用户是如何和我们的前端交互的,更能反应用户和前端的交互细节,为提升用户的满意度提供更多真实的用户行为数据。详情请参考

一文读懂RUM和APM的区别并告诉您RUM厂商该怎么选!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

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

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

相关文章

基于SpringBoot的在线商城系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 商品分类管理 商品信息管理 轮播图管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储&#xff…

数据增强代码实践,补一点多进程,多线程的知识点

目前最先进的神经网络模型,其本质上也是在利用一系列线性和非线性的函数去拟合目标输出。既然是拟合,当然越多的样本就能获得越准确的结果,这也是为什么现在训练神经网络所使用的数据规模越来越大。 在实际使用中,我们往往可能只…

苹果销量倍增,但iPhone15销量或大跌,中国用户不接受咖喱味

由于印度制造的iPhone15出现质量问题,导致欧洲消费者不接受,由此传出消息指苹果将印度制造的iPhone15完全供应印度市场和中国市场,这已导致中国消费者对它的抗拒,不过这似乎并未影响iPhone15的整体销量。 日前两大电商平台公布的数…

一百八十七、大数据离线数仓完整流程——步骤六、在ClickHouse的ADS层建表并用Kettle同步Hive中DWS层的结果数据

一、目的 经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。 二、数仓实施步骤 (六)步骤六、在Click…

前端关于对象中套用对象传参的小问题

在js的对象是引用类型的,他如果里面还套用对象的话那么通过axios传参给后端就会出现一个问题,就是【object,object】这种包装形式 那么如何来解决这个问题呢? 其实这就是要对数据传输中json格式要有一定的了解才可以解决这个问题…

windows 安装 MySQL 绿色版

windows 安装 MySQL 绿色版 下载 官网: MySQL下载页面: MySQL直接下载链接:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-winx64.zip 安装 将下载的mysql.zip文件解压缩到指定目录 搜索 cmd 并以管理员身份运行 切换到…

详解MySQL索引+面试题

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引概述…

iMovie for Mac v10.3.9(视频剪辑)

iMovie是一款视频剪辑软件,广泛应用于Mac和iOS设备。以下是关于iMovie软件的一些推荐信息: 简单易用。iMovie的设计简洁,操作简单,即使是没有剪辑经验的新手也可以轻松上手。软件内置了丰富的视觉效果、滤镜、绿幕抠图、分屏和画…

算法基础之差分和前缀和

差分 差分介绍 结论:差分是前缀和的逆运算 举例 一维差分 //一维前缀和 a[i]部分就是一维差分数组 s[i] s[i-1]a[i]; //一维差分 a[i] s[i]-s[i-1];二维差分 //二维前缀和 a[i][j]部分就是一维差分数组 s[i][j] s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j]; //二…

优思学院|如何解读Minitab中测量系统分析(MSA GRR)的结果?

在现代制造和质量控制过程中,精确的测量是至关重要的。为了确保我们的测量工具可靠,我们需要评估其重复性与再现性。这就是测量系统分析(Measurement System Analysis,简称MSA)的关键目标之一。以下将介绍如何使用Mini…

SPEOS—光学产品设计及仿真工具

SPEOS是ANSYS公司功能强大的光学仿真软件,用于光学设计、环境与视觉模拟、成像仿真等,强大的解决方案提供了可视化光学系统和直观的人机交互平台,其仿真技术已广泛用于汽车、电子电器、精密仪器、照明设备等领域。SPEOS软件内嵌ISO和CIE国际标…

漏洞挖掘篇(基础)

文章目录 方法概述 漏洞挖掘方法分类 静态分析技术动态分析技术 符号执行 符号执行的基本原理符号执行的应用漏洞挖掘-检测是否数组越界 污点分析 基本思想污点分析核心要素优缺点 词法分析 基本概念漏洞挖掘实战 实践一:基于词法分析和逆向分析的可执行代码静态检…

有关MySQL性能的分析,你知道哪些?

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、SQL性能…

PyTorch深度学习实战——交通标志识别

PyTorch深度学习实战——交通标记识别 0. 前言1. 交通标志识别1.1 数据集介绍1.2 数据增强和批归一化 3. 交通标志检测相关链接 0. 前言 在道路交通场景中,交通标志识别作为驾驶辅助系统与无人驾驶车辆中不可缺少的技术,为车辆行驶中提供了安全保障。在…

【操作系统】24王道考研笔记——第五章 IO管理

第五章 IO管理 一、IO设备 1.1 基本概念与分类 1.2 IO控制器 电子部件 IO控制器组成 值得注意的小细节:①一个I/O控制器可能会对应多个设备; ②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个…

RK3566 linux添加rgb13h

一、DTS根节点增加节点 在根节点/{}下增加flash_rgb13h节点,节点内容如下: flash_rgb13h: flash-rgb13h {status "okay";compatible "led,rgb13h";label "gpio-flash";pinctrl-names "default";pinctrl-0 …

如何在JoySSL上申请免费的SSL证书

1,前往 JoySSL 的官方网站注册页面,创建一个账号并登录您的 JoySSL 账户。 扫码注册账号申请免费证书https://www.joyssl.com/certificate/select/free.html?nid52,找到并选择你需要的 SSL 证书相关的功能或选项。 3,提供您的域…

三周过PMP经验分享,用最少的时间拿3A!

今天分享一个大神的PMP备考经验,大佬就是大佬,三周过PMP还拿了3A,正在备考PMP的小伙伴,咱们共勉! 第一周、阅读教材 之前是第六版教材,花了很长时间阅读和梳理框架。现在是第七版教材,内容少了…

快速发布服务到生产环境(手动操作)

背景介绍 虽然现在大部分项目都是用Jenkins搭建环境,自动化部署。但仍然存在一些小客户,只会单独上线一些关键服务,此时就需要手动去服务器里面部署了。此处用一个外业服务做例子,下面开始介绍。 进入服务器 一般需要申请服务器权…

使用BaGet 实现NuGet包私有化部署

本文主要介绍使用IIS部署 1.下载Baget,github下载,本文下载版本v0.4.0-preview2 2.解压,参考使用说明 3.安装环境,.NET Core Runtime,此处说明,.net7安装包是集成了 ASP.NET Core IIS Module的&#xff…