当前位置: 首页 > article >正文

如何进行前端性能测试?--性能标准

如何进行前端性能测试?–性能标准

前端性能测试指标:
在这里插入图片描述

首次加载阶段

  • 场景:用户首次访问网页,在页面还未完全呈现各种内容和功能时的体验。
  • 重要指标及原因
    • 首次内容绘制(FCP - First Contentful Paint)​
      • 标准:FCP 通常应在 1.8 秒内达成。
      • 重要性:这是用户看到页面第一个内容的时刻,能让用户快速知道页面已经开始加载,减少等待的焦虑感。如果 FCP 时间过长,用户可能会认为页面加载缓慢甚至放弃访问。
    • 最大内容绘制(LCP - Largest Contentful Paint)​
      • 标准:一般来说,LCP 应该在 2.5 秒内完成。
      • 重要性:LCP 衡量视口中最大内容元素何时渲染到屏幕上,对于用户快速感知页面主要内容很关键。较快的 LCP 时间可以让用户更快地了解页面的核心信息。

交互响应阶段

  • 场景:用户在页面上进行各种交互操作,如点击按钮、输入文本等。
  • 重要指标及原因
    • 首次输入延迟(FID - First Input Delay)​
      • 标准:FID 应控制在 100 毫秒以内。
      • 重要性:直接反映用户操作后页面的响应速度。如果 FID 时间过长,用户点击按钮后要过很久页面才有反应,会极大地影响用户体验,让用户觉得页面卡顿、不流畅。
    • 页面交互时间(TTI - Time to Interactive)​
      • 标准:TTI 应在 5 秒以内。
      • 重要性:表示页面达到可稳定交互状态的时间。如果 TTI 时间过长,用户在一段时间内无法正常与页面交互,可能会放弃操作或离开页面。
        页面加载完整性阶段
  • 场景:用户等待整个页面包括所有资源(图片、脚本、样式表等)完全加载### 完成的体验。
  • 重要指标及原因
    • 页面完全加载时间(Time to Fully Loaded)​
      • 标准:一般希望TFL在 3 秒内完成,复杂 Web 应用通常不应超过 5 秒。
      • 重要性:对于一些需要完整资源才能正常使用的页面功能,如视频播放、大型文件上传下载等,页面完全加载时间过长会导致用户无法及时使用这些功能,可能造成用户流失。

视觉稳定性场景

  • 场景:用户在浏览页面过程中,希望页面布局保持稳定,不会突然发生意外变化。
  • 重要指标及原因
    • 累积布局偏移(CLS - Cumulative Layout Shift)​
      • 标准:CLS 通常应保持在 0.1 以下。
      • 重要性:如果页面在加载或交互过程中频繁出现布局偏移,会让用户感到困惑和不适,可能导致误操作,严重影响用户体验。

整体加载速度感知场景

  • 场景:用户对页面整体加载快慢的主观感受,尤其是在网络环境较差或页面较为复杂时。
  • 重要指标及原因
    • 速度指数(Speed Index,SI)​
      • 标准:SL通常认为速度指数在 3 秒以内是比较理想的。
      • 重要性:从整体上衡量页面加载期间内容可视化显示的速度,能让开发者了解用户对页面加载速度的大致感受,以便进行针对性的优化 。

线上网站测试工具:

  • WebPageTest:这是一个专业的网页性能测试工具,它提供了一系列详细的性能评分和建议。一般来说,在 WebPageTest 的综合评分中,得分在 90 分以上通常被认为是一个性能表现优秀的网站。
  • https://www.webpagetest.org/
  • GTmetrix:同样是一个知名的性能分析工具,它会给出页面加载速度、可优化程度等方面的评分。通常,页面加载时间在 3 秒以内,且各项优化建议得分较高时,表明网站前端性能良好 。
  • https://gtmetrix.com/
    分析前端性能基础教学视频:https://www.bilibili.com/video/BV1C8411V7y2/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=9a733dd9dd93beb88cbe0c3ba258b6d8
    Google Charome中Lighthouse性能分析功工具:https://developer.chrome.com/docs/lighthouse/overview?hl=zh-cn
    Preferences性能测试工具:https://developer.chrome.com/docs/devtools/settings/preferences?hl=cn
    Performance Monitor性能监视工具:https://developer.chrome.com/docs/devtools/performance-monitor?hl=cn

相关文章:

如何进行前端性能测试?--性能标准

如何进行前端性能测试?–性能标准 前端性能测试指标: 首次加载阶段 场景:用户首次访问网页,在页面还未完全呈现各种内容和功能时的体验。重要指标及原因 首次内容绘制(FCP - First Contentful Paint)​…...

通信网络编程——JAVA

1.计算机网络 IP 定义与作用 :IP 地址是在网络中用于标识设备的数字标签,它允许网络中的设备之间相互定位和通信。每一个设备在特定网络环境下都有一个唯一的 IP 地址,以此来确定其在网络中的位置。 分类 :常见的 IP 地址分为 I…...

Off-Policy策略演员评论家算法SAC详解:python从零实现

引言 软演员评论家(SAC)是一种最先进的Off-Policy策略演员评论家算法,专为连续动作空间设计。它在 DDPG、TD3 的基础上进行了显著改进,并引入了最大熵强化学习的原则。其目标是学习一种策略,不仅最大化预期累积奖励&a…...

热门CPS联盟小程序聚合平台与CPA推广系统开发搭建:助力流量变现与用户增长

一、行业趋势:CPS与CPA模式成流量变现核心 在移动互联网流量红利见顶的背景下,CPS(按销售付费)和CPA(按行为付费)模式因其精准的投放效果和可控的成本,成为企业拉新与用户增长的核心工具。 CPS…...

(自用)Java学习-5.9(Thymeleaf,自动装配,自定义启动器 )

一、Thymeleaf 模板技术 片段定义与复用 <!-- 声明片段 --> <div th:fragment"b1">...</div> <!-- 插入片段 --> <div th:insert"~{bottom :: b1}"></div> <!-- 追加内容 --> <div th:replace"~{botto…...

Linux系统管理与编程15:vscode与Linux连接进行shell开发

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 【1】打开vscode 【2】点击左下角连接图标 【3】输入远程连接 选择合适的操作系统 输入密码&#xff0c;就进入Linux环境的shell编程了。 在vscode下面粘贴拷贝更方便。比如 然后在v…...

RabbitMQ概念详解

什么是消息队列&#xff1f; 消息队列是一种在应用程序之间传递消息的技术。它提供了一种异步通信模式&#xff0c;允许应用程序在不同的时间处理消 息。消息队列通常用于解耦应用程序&#xff0c;以便它们可以独立地扩展和修改。在消息队列中&#xff0c;消息发送者将消息发送…...

Excel-to-JSON插件专业版功能详解:让Excel数据转换更灵活

前言 在数据处理和系统集成过程中&#xff0c;Excel和JSON格式的转换是一个常见需求。Excel-to-JSON插件提供了一套强大的专业版功能&#xff0c;能够满足各种复杂的数据转换场景。本文将详细介绍这些专业版功能的应用场景和使用方法。 订阅说明 在介绍具体功能之前&#xf…...

linux基础操作5------(shell)

一.前言 本文来介绍一下linux的shell&#xff0c;除了最后的那个快捷键&#xff0c;其他的还是做一个了解就行了。 Shell&#xff1a; 蛋壳的意思&#xff0c;是linux中比较重要的一个概念&#xff0c;所有的命令其实都称之为shell命令。 看图解&#xff1a;shell就是内核的一…...

BUUCTF 大流量分析(三) 1

BUUCTF:https://buuoj.cn/challenges 文章目录 题目描述&#xff1a;密文&#xff1a;解题思路&#xff1a;flag&#xff1a; 相关阅读 CTF Wiki BUUCTF | 大流量分析 &#xff08;一&#xff09;&#xff08;二&#xff09;&#xff08;三&#xff09; 题目描述&#xff1a; …...

feign.RequestInterceptor 简介-笔记

1. feign.RequestInterceptor 简介 Feign 是一个声明式 Web 服务客户端&#xff0c;用于简化 HTTP 请求的编写与管理。feign.RequestInterceptor 是 Feign 提供的一个接口&#xff0c;用于在请求发出之前对其进行拦截和修改。这在微服务架构中非常有用&#xff0c;比如在请求中…...

vLLM中paged attention算子分析

简要分析vLLM中PA的代码架构和v1与v2的区别 vLLM版本&#xff1a;0.8.4 整体结构分析 首先从torch_bindings.cpp入手分析&#xff1a; 这里可以看到vLLM向pytorch中注册了两个PA算子&#xff1a;v1和v2 其中paged_attention_v1和paged_attention_v2分别实现在csrc/attentio…...

多样本整合Banksy空间聚类分析(Visium HD, Xenium, CosMx)

在空间数据分析中&#xff0c;传统的单细胞聚类算法&#xff0c;例如Seurat和Scanpy中的lovain和leiden等聚类算法&#xff0c;通常在处理空间数据时忽略了空间信息。然而&#xff0c;由于细胞状态受其周围细胞的影响&#xff0c;将转录组数据与细胞的空间信息结合起来进行聚类…...

C++:公有,保护及私有继承

从已有的类派生出新的类&#xff0c;而派生类继承了原有类的特征被称为类继承。下面按照访问权限分别介绍公有继承&#xff0c;私有继承与保护继承。 公有继承 使用公有继承&#xff0c;基类的公有成员将成为派生类的公有成员&#xff08;派生类对象可直接调用方法&#xff09…...

ElasticSearch聚合操作案例

1、根据color分组统计销售数量 只执行聚合分组&#xff0c;不做复杂的聚合统计。在ES中最基础的聚合为terms&#xff0c;相当于 SQL中的count。 在ES中默认为分组数据做排序&#xff0c;使用的是doc_count数据执行降序排列。可以使用 _key元数据&#xff0c;根据分组后的字段数…...

使用 OAuth 2.0 保护 REST API

使用 OAuth 2.0 保护 REST API 使用 OAuth 2.0 保护 REST API1.1 不安全的api1.2 安全默认值安全默认值Spring Security 默认值 需要对所有请求进行身份验证Servlet、过滤器和调度程序安全优势 使用所有请求的安全标头进行响应缓存标头 严格传输安全标头内容类型选项需要对所有…...

解决下拉框数据提交后回显名称不对

问题背景描述 页面组件使用 antd 的 Select 组件&#xff0c;下拉框的 options 数据是动态获取的&#xff0c;基本就是有value 和 label 属性的对象数组。 提交数据后&#xff0c;我们有一个保存草稿的操作&#xff0c;支持返回或者刷新页面&#xff0c;浏览其他页面之后通过其…...

lenis滑动插件的笔记

官网 lenis - npm 方法一&#xff1a;基础判断&#xff08;推荐&#xff09; 通过 Lenis 自带的 scroll 和 limit 属性直接判断&#xff1a; const lenis new Lenis()// 滚动事件监听 lenis.on(scroll, ({ scroll, limit }) > {const distanceToBottom limit - scroll…...

基于Python的高效批量处理Splunk Session ID并写入MySQL的解决方案

已经用Python实现对Splunk通过session id获取查询数据&#xff0c;现在要实现Python批量数据获取&#xff0c;通过一个列表中的大量Session ID&#xff0c;快速高效地获取一个数据表&#xff0c;考虑异常处理&#xff0c;多线程和异步操作以提高性能&#xff0c;同时将数据表写…...

Android Framework

Android 分区 /boot&#xff1a;存放引导程序&#xff0c;包括内核和内存操作程序。/system&#xff1a;相当于电脑 C 盘&#xff0c;存放 Android 系统及系统应用。/recovery&#xff1a;恢复分区&#xff0c;可以进入该分区进行系统恢复。/data&#xff1a;用户数据区&#…...

JVM对象分配与程序崩溃排查

一、new 对象在 JVM 中的过程 在 JVM 中通过 new 关键字创建对象时&#xff0c;会经历以下步骤&#xff1a; 内存分配 对象的内存分配在 堆&#xff08;Heap&#xff09; 中&#xff0c;优先在 新生代&#xff08;Young Generation&#xff09; 的 Eden 区 分配。分配方式取决…...

OpenMCU(六):STM32F103开发板功能介绍

概述 距上一篇关于STM32F103的FreeRTOS博客的发布已经过去很长时间没有更新了。在这段时间内&#xff0c;大家可以看到博主发表了一系列的关于使用qemu 模拟实现STM32F103的博客&#xff0c;博主本来想借助qemu开发stm32F103相关的一些软件功能&#xff0c;博主开发出来并成功运…...

(自用)Java学习-5.12(Redis,B2C电商)

一、Redis 核心知识 缓存作用 提升性能&#xff1a;内存读写速度&#xff08;读 10w/s&#xff0c;写 8w/s&#xff09;远超 MySQL&#xff08;读 3w/s&#xff0c;写 2w/s&#xff09;减少数据库压力&#xff1a;通过内存缓存热点数据&#xff0c;避免频繁 SQL 查询分类&#…...

Rspack:字节跳动自研 Web 构建工具-基于 Rust打造高性能前端工具链

字节跳动开源了一款采用 Rust 开发的前端模块打包工具&#xff1a;Rspack&#xff08;读音为 /ɑrspk/&#xff09;。 据介绍&#xff0c;Rspack 是一个基于 Rust 的高性能构建引擎&#xff0c;具备与 Webpack 生态系统的互操作性&#xff0c;可以被 Webpack 项目低成本集成&a…...

深度解析LLM参数:Top-K、Top-p和温度如何影响输出随机性?

许多大模型具有推理参数&#xff0c;用于控制输出的“随机性”。常见的几个是 Top-K、Top-p&#xff0c;以及温度。 Top-p&#xff1a; 含义&#xff1a;Kernel sampling threshold. Used to determine the randomness of the results. The higher the value, the stronger t…...

高速系统设计实例设计分析

在上几章的内容中&#xff0c;我们从纯粹高速信号的理论分析&#xff0c;到 Cadence 工具的具体使用都做了详细的讲解和介绍。相信读者通过前面章节的学习&#xff0c;已经对高速系统的设计理念及 Cadence 相应的设计流程和工具有了一个基本的认识。但是&#xff0c;对于高速电…...

查看购物车

一.查看购物车 查看购物车使用get请求。我们要查看当前用户的购物车&#xff0c;就要获取当前用户的userId字段进行条件查询。因为在用户登录时就已经将userId封装在token中了&#xff0c;因此我们只需要解析token获取userId即可&#xff0c;不需要前端再传入参数了。 Control…...

疑难杂症:dex安装部署

方式一、源码包下载 wget https://github.com/dexidp/dex/archive/refs/tags/v2.42.1.tar.gz 方式二、git方式拉取源码编译&#xff1a; Getting Started | $ git clone https://github.com/dexidp/dex.git 编译 $ cd dex/ $ make build 启动 ./bin/dex serve examples/…...

【idea】快捷键ctrl+shift+F(Find in files)不起作用

问题描述 在idea中使用快捷键CtrlShiftF&#xff0c;进行内容的搜索&#xff0c;但是弹不出对话框、或有时候能弹出有时候又弹不出。 原因分析 1.怀疑是缓存问题&#xff1f;--清空缓存重启也没什么作用 2.怀疑是idea的问题&#xff1f;--有时行、有时不行&#xff0c;而且…...

开发工具分享: Web前端编码常用的在线编译器

1.OneCompiler 工具网址&#xff1a;https://onecompiler.com/ OneCompiler支持60多种编程语言&#xff0c;在全球有超过1280万用户&#xff0c;让开发者可以轻易实现代码的编写、运行和共享。 OneCompiler的线上调试功能完全免费&#xff0c;对编程语言的覆盖也很全&#x…...