本文将性能优化专项从定义目标,拆解任务,执行落地三个角度来给开发者提供思路
一、定义目标
如果一件事你无法衡量他,你就无法改进它,所以在定义目标前,我们需要去量化目标,目标通常有两种,一种是已形成共识的目标(可量化),一种没有共识的目标(未量化)。
什么是有共识的目标,比如 Google 指定的LCP(Largest Contentful Paint) 和 CLS(Cumulative Layout Shift)。
什么是没有共识的目标,比如评估一个协同表格的多人编辑体验,那这时候怎么做?此时就需要在定义目标前进行指标建设,通过 MECE 分析法,专家打分法,AHP 层次分析法等一系列方法进行指标建模。
二、拆解任务
无论多复杂的系统,只要经过诸多次拆解,都能拆分为一个个小系统,那么庞大的任务,我们同样可以拆解成多个维度的任务:从组织,力度,时间周期等维度,在敏捷迭代中,我们通过用迭代周期来跟踪,用甘特图,燃尽图来跟踪。
三、 执行落地
就 Web 应用而言,我们在执行过程有非常多的技巧或者手段来使性能优化专项执行落地,例如以下:
- 用户指标上报,数据分析法
- 典型场景浏览器 performance 分析运行时性能法
- 数据样本固定,工程改造灰度对比法
- 不同数据样本采样法
- benchmark 工具采样法
- 竞品数据采样法
- 构造应用程序时序图,标记改进节点法
- …