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

简介: 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的时延较低
  • 与客户端打通:串联端内页面与端上和服务端完整全链路
  • 智能报警:自动跑数据,得出更合理的上下界,更精准的发现问题
  • 研发流程:上线前,结合上线卡点工具;深入定位问题:源代码关联、异常追踪、劣势分析、防劣化
  • 新增订阅:重新定义新增,确保每一个有通知意义的订阅都不被遗漏
目录
相关文章
|
3月前
|
存储 前端开发 安全
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
202 5
|
6月前
|
前端开发 JavaScript 索引
前端性能优化:虚拟滚动技术原理与实战
前端性能优化:虚拟滚动技术原理与实战
778 80
|
6月前
|
缓存 监控 前端开发
前端性能优化:现代框架的关键策略
前端性能优化:现代框架的关键策略
322 74
|
6月前
|
缓存 前端开发 JavaScript
前端性能优化:打造流畅的用户体验
前端性能优化:打造流畅的用户体验
|
10月前
|
缓存 前端开发 UED
如何优化前端性能以提高加载速度
前端性能优化对提升网站加载速度至关重要,直接影响用户体验、SEO排名和转化率。本文介绍了优化前端加载速度的关键技巧,包括最小化HTTP请求、使用CDN、优化图片、利用浏览器缓存、压缩文件和实现懒加载。通过这些方法,可以显著减少页面加载时间,提高网站的整体性能和用户满意度。
|
11月前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
9月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
12月前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
838 4
|
前端开发 安全 UED
2024年前端性能优化新策略
2024年前端性能优化策略涵盖代码分割与环境变量管理。代码分割通过动态导入和按需加载CSS减少初始加载时间;环境变量管理则确保敏感信息安全,简化多环境配置。结合最新工具和技术,可大幅提升Web应用性能与用户体验。

热门文章

最新文章

  • 1
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 2
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 3
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式