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

简介: 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的时延较低
  • 与客户端打通:串联端内页面与端上和服务端完整全链路
  • 智能报警:自动跑数据,得出更合理的上下界,更精准的发现问题
  • 研发流程:上线前,结合上线卡点工具;深入定位问题:源代码关联、异常追踪、劣势分析、防劣化
  • 新增订阅:重新定义新增,确保每一个有通知意义的订阅都不被遗漏
目录
相关文章
|
2月前
|
缓存 前端开发 JavaScript
优化前端性能:从理论到实践的全面指南
前端性能优化是提升用户体验的关键环节,但这一过程常被技术细节和优化策略所困扰。本文将系统地探讨前端性能优化的理论基础及实践技巧,包括关键性能指标、有效的优化策略、以及常见工具的应用。我们将从最基本的优化方法入手,逐步深入到高级技巧,为开发者提供一套全面的性能提升方案,以实现更快的加载时间、更流畅的用户交互体验。
|
2月前
|
缓存 前端开发 JavaScript
cnblogs——从主题开发浅谈前端性能优化
cnblogs——从主题开发浅谈前端性能优化
40 0
|
13天前
|
缓存 前端开发 JavaScript
优化前端性能:关键策略与实践
随着互联网技术的发展,用户对网页加载速度和交互体验的要求日益提高,前端性能优化成为提升用户体验和网站竞争力的关键。本文探讨了前端性能优化的重要性和七大关键策略,包括压缩资源文件、利用浏览器缓存、减少HTTP请求、异步加载、使用CDN、优化CSS和JavaScript执行及第三方脚本优化,并提供了实践案例,帮助开发者构建更快、更高效的网站。
|
7天前
|
前端开发
前端diff文件对比使用worker进行优化
如何使用Web Worker在React项目中优化文件对比差异功能的实现。
26 5
|
11天前
|
缓存 前端开发 JavaScript
|
2月前
|
缓存 前端开发 JavaScript
微前端集成优化:让所有子应用体积更小,加载更快!
【8月更文挑战第17天】微前端集成优化:让所有子应用体积更小,加载更快!
46 1
微前端集成优化:让所有子应用体积更小,加载更快!
|
3天前
|
缓存 前端开发 JavaScript
优化前端性能:关键策略与实践
在现代web开发中,前端性能优化至关重要。本文探讨了提升用户体验、转化率及降低服务器负载的关键策略,包括压缩资源文件、利用浏览器缓存、减少HTTP请求、异步加载、使用CDN、优化CSS/JavaScript执行、优化第三方脚本等,并介绍了Webpack/Rollup模块打包、HTTP/2特性、性能预算及Lighthouse/WebPageTest测试工具的应用。通过这些方法,可显著提高网站性能。
|
2月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
33 1
|
2月前
|
缓存 前端开发 JavaScript
优化前端性能的十大最佳实践
在现代网页开发中,前端性能优化不仅仅是为了提升用户体验,还能显著提高网站的加载速度和响应时间。本文探讨了十大最佳实践,从优化资源加载到减少网络请求,再到提高页面渲染效率,每个实践都旨在解决常见的性能瓶颈。通过实现这些策略,开发者可以显著提升前端性能,提升用户满意度,并确保网站在各种设备上的流畅运行。
|
2月前
|
缓存 前端开发 JavaScript
深入探讨前端性能优化:从理论到实践
在现代Web开发中,前端性能优化已成为提升用户体验的关键因素。本文将探讨前端性能优化的基本理论,并结合实际案例,深入分析如何通过优化代码、资源管理和用户交互,显著提升网站和应用的响应速度。我们将介绍从理论到实践的多种方法,包括资源压缩、异步加载、缓存机制及工具的使用,帮助开发者构建更加高效和用户友好的前端应用。
下一篇
无影云桌面