前端性能优化方案

3415 分享 时间: 收藏本文

前端性能优化方案

为了确保事情或工作有序有效开展,通常需要提前准备好一份方案,方案属于计划类文书的一种。那么方案应该怎么制定才合适呢?下面是小编为大家收集的方案策划范文,供大家参考借鉴,希望可以帮助到有需要的朋友。

前端性能优化方案篇一

上面的脚本计算了 head 中的第一个 js脚本执行后加载页面所需的时间,但它没有给出任何关于从服务器获取页面所需的时间,或是页面初始化生命周期的信息。

由此我们可以计算旧文档的卸载、重定向、应用缓存、dns lookup、tcp 握手、http 请求处理、http 响应处理、dom 处理、document加载完成等页面性能打点。具体可以参考navigation-timing w3c的规范 和 几个页面关键指标是如何计算的

从上图中我们可以看出document processing是 navigation timing 独有的,后面我们也会介绍resource timing。整体而言 level 2 标准更加的全面,把web performance timing分成了各个 performance metric,看起来一目了然,然而各个主流浏览器还存在兼容性问题。

介绍完这两个performance navigation timing api,我们顺便再来看一下其余几个主要的performance timing api:resource timing api 、 paint timing api 和 long task timing api,以及如何使用performanceobserver异步获取性能数据。

performanceobserver 可以被动地订阅与性能相关的事件,也就是说这个 api 通常不会干扰页面主线程的性能,因为它的回调通常在空闲期间触发。默认情况下,performanceobserver 对象只能在条目出现时观察它们。如果想延迟加载性能分析代码(不阻止更高优先级的资源),我们需要这么做:

设置buffered 为true,浏览器将在第一次调用 performanceobserver 回调时返回其性能条目 缓冲区中的历史条目。

前端性能优化方案篇二

(下文以2024年2月a频道页面为例,均为dummy仿造后数据,也不代表整体情况)

.如何衡量性能问题严重性

衡量性能问题严重性,是为了让大家意识到优化的必要性,以及急迫性

同.性能黑榜,不赘述

见下图“可交互时长分布图”,一个记录代表一个用户。

即使不去统计,我们都能很明显的看出来,这个a频道页面:

和开发说明问题严重性时,这个会很有代入感,比如见下图,10%的android用户在以上,是不是可以认为他们大部分都跳失了?

下图不用算都能明显发现,秒开率和 整体数据差异实在太大

.分析性能瓶颈-分析思路

首先要明确,性能分析主要是给相关页面的前端、开发同学看,给关心问题的测试同学看,所以我们可以拆分的更细节、更专业。可以先分前端、后端2个大类:

.分析性能瓶颈-前端环节

业务因素(具体不表),分终端是重点。

从可交互时长、秒开率、3秒+率、5秒+率,分别分析,都能论证--支付宝端问题更明显。

下图将t1~t9 每个阶段打点情况可视化,并分析重点环节的差值(打点逻辑由前端定义)

见图2可以明显观察到:

1、接口耗时太久,且后变差明显(可以去追溯下发生了什么); 2、lbs获取耗时很久,高于平均1倍以上,而取lbs是a频道页的关键逻辑

我们根据手淘的高中低端机评判标准,埋点获得数据。平均时长,高中低各自占比,以及低端时长分布(也可选中高端)。下图可发现,低端机比例很低(需要思考是否有必要重点优化),但低端机超过3秒以上的比例远高于其他的(和总体的完全时间分布对比) 。

包括:机型、系统等,可做参考

.分析性能瓶颈-后端环节

主要从后端维度来分析

这里可见,下图尽管是开始发起请求-》收到请求的全过程,但也严重超标(几乎是标准值的2倍)

前端性能优化方案篇三

通过线上用户的真实采集,并制定能反应用户体感的指标,进行性能黑榜和全局趋势分析。

从重点单点角度,我们通过性能黑榜;从整体视角,我们通过整体趋势分析。

.性能数据的采集

arms前端监控专注于对web场景、小程序场景的监控,从页面打开速度(测速)、页面稳定性(js诊断错误)和外部服务调用成功率(api)这三个方面监测web和小程序页面的健康度。

sls日志服务为log、metric、trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能。

odps即maxcompute,是适用于数据分析场景的企业级saas模式云数据仓库。

fbi是阿里内的智能大数据分析和可视化平台,下面的所有截图都是在fbi平台配置图表而成,还未对外开放。

arms-sdk结合前端的自定义埋点,在海量用户访问的同时,就会自动上报数据到sls日志库,整体过程如下图:

.性能指标的确定

所有前台页面,每个用户每次浏览的有效数据(完全加载<15s 内有效)

指标的影响因子:从用户视角,页面流量越大,则对整体数据的影响越大(也就是权重越大)

这样做的好处:流量越大数值越严重的,优化的效果(正反馈)越明显,确定了治理性能问题的优先级。

结合淘系、以及集团其他部门的

.性能黑榜

为何要用性能黑榜来作为主要发现手段?我们通常可推理得:

(可根据各自业务,加个样本量的筛选,如我们看每日pv 10w以上的)

.整体性能趋势分析

整体趋势分析,即是为在整体角度,看我们的页面性能趋势,它是重要的度量指标。 这里我们把所有的流量都纳入,没有页面的区分,为的是基于用户维度,流量大的页面权重自然会更大。

从上图看,1月初到2月中旬的数据正在持续恶化,必须要采取措施治理!

前端性能优化方案篇四

很多人都以为,前端性能优化,重点在“前端”优化,“测试”很难起到主导作用。试着换个角度,从整个研发团队视角看,前端做运动员专项治理,测试做裁判员专项评测,这套机制,是否更能切实做到优化,达成的数据也更让大家信赖?再者,测试不止局限于此,还可做队医、分析师。。。。

.可持续优化闭环

以下持续优化闭环,是我们摸索着实行了一年多,有效且高效的解法。

从上图看,整个过程为:

step0、前端事先进行埋点,(一般前端做了sdk,直接引入即可)

step1、测试通过性能黑榜,发现最为突出的重点性能问题页面(首屏平均时长&秒开率,pv&业务意义, 多项结合度量)

step2、协助前端一起专业分析问题页面,找出性能瓶颈点

step3、前端更有策略地针对性治理

step4、查看性能趋势变化,验证优化效果

step5、假设已达到优化预期,或者有更糟糕的页面把之前页面挤下去,继续关注黑榜前列的页面(即跳到step1,继续轮转)

我们可以发现,测试通过发现、分析、验证 三板斧,驱动推进页面性能优化。

.效果明显

从2024年10月份开始迭代以来,共发现了8类严重性能问题。

包括:端外(支付宝)性能问题,外投&跨端性能问题,pha架构性能问题,运营不规范配置导致、其他业务原因导致的性能问题等。

并且快速有效,在业务方或其他同学提过来之前,我们都已经发现并有了分析,在优化节奏上更具有主动性。

前端性能优化方案篇五

1、静态资源的压缩合并(js 代码压缩合并、css 代码压缩合并、雪碧图)

2、静态资源缓存(资源名称加 md5 戳)

      可以通过链接名称控制缓存:通过前端构建工具为打包的文件添加md5后缀,这样当打包上线时请求的链接发生改变,这样可以防止由于缓导致静态资源更新失效;

3、 使用 cdn 让资源加载更快

二.优化页面渲染

1、css 放前面,js 放后面

2、懒加载(图片懒加载、下拉加载更多)

先将src赋值成一个通用的预览图,下拉时候再动态赋值成正式的图片。如下,是预览图片,比较小,加载很快,而且很多图片都共用这个,加载一次即可。待页面下拉,图片显示出来时,再去替换src为data-src的值。(data-开头的属性浏览器渲染的时候会忽略掉,提高渲染性能)

3、减少dom 查询,对 dom 查询做缓存

4、减少dom 操作,多个操作尽量合并在一起执行(documentfragment)

dom 操作是非常耗费性能的,因此插入多个标签时,先插入 fragment 然后再统一插入 dom。因为fragment文档片段存在于内存中,并不在dom树中,所以将子元素插入到文档片段时不会引起页面回流。

5、事件节流

在开发过程中会遇到页面一些频繁触发的事件,比如mouseover、scroll、resize等事件。一秒可以执行很多次,这样会造成严重的页面性能问题,导致页面c出现卡顿甚至浏览器崩溃。因此我们需要对事件进行节流,简单的说就是控制其执行的次数。这里就涉及到了常用到的js的节流和防抖功能实现。        1.防抖(debounce):在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。

     2、节流(throttle):规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。

6、尽早执行操作(domcontentloaded) 

信息流广告 网络推广 周易 易经 代理招生 二手车 网络营销 招生代理 旅游攻略 非物质文化遗产 查字典 精雕图 戏曲下载 抖音代运营 易学网 互联网资讯 成语 成语故事 诗词 工商注册 注册公司 抖音带货 云南旅游网 网络游戏 代理记账 短视频运营 在线题库 国学网 知识产权 抖音运营 雕龙客 雕塑 奇石 散文 自学教程 常用文书 河北生活网 好书推荐 游戏攻略 心理测试 石家庄人才网 考研真题 汉语知识 心理咨询 手游安卓版下载 兴趣爱好 网络知识 十大品牌排行榜 商标交易 单机游戏下载 短视频代运营 宝宝起名 范文网 电商设计 免费发布信息 服装服饰 律师咨询 搜救犬 Chat GPT中文版 经典范文 优质范文 工作总结 二手车估价 实用范文 爱采购代运营 古诗词 衡水人才网 石家庄点痣 养花 名酒回收 石家庄代理记账 女士发型 搜搜作文 石家庄人才网 铜雕 词典 围棋 chatGPT 读后感 玄机派 企业服务 法律咨询 chatGPT国内版 chatGPT官网 励志名言 河北代理记账公司 文玩 朋友圈文案 语料库 游戏推荐 男士发型 高考作文 PS修图 儿童文学 买车咨询 工作计划 礼品厂 舟舟培训 IT教程 手机游戏推荐排行榜 暖通,电采暖, 女性健康 苗木供应 ps素材库 短视频培训 优秀个人博客 包装网 创业赚钱 养生 民间借贷律师 绿色软件 安卓手机游戏 手机软件下载 手机游戏下载 单机游戏大全 免费软件下载 网赚 手游下载 游戏盒子 职业培训 资格考试 成语大全 英语培训 艺术培训 少儿培训 苗木网 雕塑网 好玩的手机游戏推荐 汉语词典 中国机械网 美文欣赏 红楼梦 道德经 网站转让 鲜花 社区团购 石家庄论坛 书包网 电地暖