前端性能体系建设与优化思路

简介: Dev Better技术沙龙-前端性能及新技术实践 学习笔记总结

常规的性能体系

  • 衡量加载阶段的耗时
  • 以用户 感知为中心
  • 开始渲染 —— 渲染出主要内容 —— 页面可交互 —— 交互是否有延迟 —— 稳定的视觉体验
  • 从宏观到微观
  • 宏观: 性能最差Top页面 和 性能恶劣Top页面
  • 单页面:开始渲染:FP/FCP
  • 单词访问:还原现场,针对性地优化,侧重资源加载的优化

多场景下的探索与实践

运行时性能缺失

  • 业务痛点:

   1. 有的页面操作需要等待时间才有响应,影响体验,如何找到这些操作,做好定向优化。

   2. 无法衡量运行时性能,页面交互不够丝滑,感觉有点卡顿,有什么工具可以采集统计。

  • 有页面交互:能定位性能差的交互操作
  • 无页面交互:能评估页面的流畅程度,定位异常页面

 

  • 痛点1解决方式:
  • 目的:定位性能差的交互操作
  • 思路:关联用户交互时的相关数据,还原用户交互的现场
  • 方案例子:1. 监听交互事件,生成actionId;2. 记录变更:DOM变更、请求、资源加载、Long task 等数据,上报时关联actionId;3. 无进行中的请求,无持续的变更则结算当前交互时间
  • 请求耗时:花费在请求上的时间有多少
  • Long task耗时:累计造成了多长耗时的Long task
  • 总耗时:从监控到交互,到页面达到稳定态的总时间
  • 前端耗时:总耗时 - 请求耗时

 

  • 痛点2解决方式:
  • 目的:评估页面的流程程度,定位异常页面
  • 基本表现:卡顿 —— FPS监控 —— 计算频繁,性能损耗大
  • 直接数据:Long task —— 监控 —— 已经采集了,不需要额外采集
  • 异常页面:Long task的耗时往往较大,让用户明显感知到糟糕体验,
  • 根据页面维度设计指标:
  • 长耗时影响用户率:发生长耗时的用户数/总用户数
  • 长耗时影响PV率:发生长耗时的浏览次数/总浏览次数
  • 长耗时占比:大于等于长耗时的数量/Long task总数
  • 相比于正常用户,发生Long task的概率更大,耗时更长,除此之外,还有其他维度:系统、系统版本、浏览器版本、地区

微前端场景主子应用性能区分

  • 单独衡量子应用的性能、单独衡量主应用的性能
  • 目的:单独衡量子应用的性能
  • 差异点:指标起点是子应用开始加载的时间点
  • 难点:
  • 浏览器相关性能API不再适用,需要自研算法
  • 模仿浏览器计算原指标的方式
  • 数据隔离,主子应用数据区分
  • 统一收集子应用资源池,绘制子应用的资源加载瀑布图
  • 目的:单独衡量主应用的性能

如何更快发现和定位问题

  • 多段打通,快速定位性能瓶颈
  • 与服务端打通:前端球球的响应时延比较高,而后侧API的时延较低
  • 与客户端打通:串联端内页面与端上和服务端完整全链路
  • 智能报警:自动跑数据,得出更合理的上下界,更精准的发现问题
  • 研发流程:上线前,结合上线卡点工具;深入定位问题:源代码关联、异常追踪、劣势分析、防劣化
  • 新增订阅:重新定义新增,确保每一个有通知意义的订阅都不被遗漏
目录
相关文章
|
1月前
|
前端开发 JavaScript UED
优化前端性能的关键技巧
在当今数字化时代,网站和应用程序的性能对用户体验至关重要。本文将介绍一些优化前端性能的关键技巧,包括减少HTTP请求、使用CDN加速、精简代码等方面的实用建议,帮助开发者提升前端性能,提供更流畅的用户体验。
|
1月前
|
缓存 前端开发 JavaScript
揭秘前端性能优化:从代码到用户体验的全面升级
揭秘前端性能优化:从代码到用户体验的全面升级
20 0
|
1月前
|
Web App开发 缓存 前端开发
前端性能优化方案有哪些?
前端性能优化方案有哪些?
73 1
|
1月前
|
前端开发 JavaScript UED
使用React Hooks优化前端应用性能
本文将深入探讨如何使用React Hooks来优化前端应用的性能,重点介绍Hooks在状态管理、副作用处理和组件逻辑复用方面的应用。通过本文的指导,读者将了解到如何利用React Hooks提升前端应用的响应速度和用户体验。
|
2月前
|
前端开发 JavaScript 安全
从前端性能优化角度谈JavaScript代码压缩与混淆
本文从前端性能优化的角度出发,探讨了JavaScript代码压缩与混淆的重要性及实现方式,通过分析不同压缩混淆工具的特点和效果,为开发者提供了实用的指导和建议。
|
2月前
|
缓存 前端开发 JavaScript
如何优化前端性能提升用户体验
在Web应用中,前端性能是影响用户体验和转化率的关键因素之一。本文将介绍一些优化前端性能的方法,包括减少HTTP请求、使用缓存、压缩代码等。
|
2天前
|
前端开发 JavaScript Go
构建高性能Web应用:优化前端资源加载
在构建现代Web应用时,优化前端资源加载是至关重要的一步。本文将介绍一些提升Web应用性能的关键策略,包括减少HTTP请求、压缩和合并资源、使用CDN加速、以及异步加载技术等。通过实施这些优化策略,开发人员可以显著提升网站的加载速度和用户体验。
|
3天前
|
前端开发 JavaScript UED
如何优化前端网页加载速度
在当今互联网时代,网页加载速度成为了用户体验的重要指标之一。本文将介绍一些优化前端网页加载速度的方法,包括压缩资源、使用CDN加速、延迟加载等技术手段,帮助开发者提升网页性能,提高用户满意度。
|
10天前
|
缓存 前端开发 UED
优化前端性能的六大技巧
在当今互联网高速发展的时代,优化前端性能是每个开发者都必须重视的任务。本文将介绍六大实用的技巧,帮助开发者提升前端应用的性能,提升用户体验。
|
11天前
|
存储 缓存 前端开发
前端如何利用indexDB进行数据优化
使用IndexedDB作为浏览器内置的客户端数据库,用于存储大量数据和实现离线支持。它能缓存常用数据,减少服务器请求,提高用户体验。IndexedDB支持数据索引、复杂查询及版本管理,允许离线操作并同步到服务器。但需熟悉其异步API,可借助Dexie.js、localForage等库简化使用。