前言
上半年的工作主要是做页面性能优化相关的内容,并且也取得了一定的收益,本以为性能的工作可以止步于此转向下一个战场,但是奈何其他战场暂无可容身之地,但是工作的卷还要继续,所以发散思维,即便优化到符合预期的水位难道就不会再降低了么,可能某次迭代之后又会降,这样就可以去做防劣化这个事情。在做这个事情的过程中,我深感方法论可能比这件事情本身更有价值,所以想分享出来当有类似的事情可以提供价值
防劣化这个事情我们可以分为线上防劣和线下防劣两个方向,线上防劣的目的主要是当线上有劣化产生的时候可以及时报警出来让开发者知道,线下防劣的目的主要是当开发者上线之前可以预判自己的改动是否会产生劣化;如果这两个事情都完善起来,团队内性能优化这个事情就会变得体系化
遇到的问题接下来我们就按照方法论的角度去看这件事情
-
线上防劣化团队内有一个可以看到性能的看板,比如可能更关注2s打开率、页面可交互时间等等,关键的步骤就是信息整合为一张表,然后按天为维度当有页面发生劣化的时候就安特对应的负责人来关注
-
线下防劣化是一个复杂的事情,在确立了自己的一个基本的目标之后(如果无具体可以参考下面我们的想法),那么接下来我们去调研了这件事情实施的可能性,如果没有遇到什么大的卡点就可以继续出产品方案
js
产品方案的目录参考
一、背景
二、需求调研
三、用户动线
四、交互和功能详述
五、mvp版本和终态的里程碑
- 产品方案没问题之后就可以准备具体的技术方案 线下防劣的关键在于需要有自动化流程帮你运行你的页面,如果是pc网页那你可以参考无头浏览器的运行,如果是c端页面那么就要看公司的基建是否存在可以帮你做这样事情的人去采集数据,这个时候一定要自信,不要觉得数据是别人采集的那你做的事情就变得简单无效,我恰恰觉得完整的产品方案才是最有价值的
遇到的问题
在自动化过程中我们遇到最大的问题是数据波动,数据波动无法保证结果的可靠性,导致信服力降低,数据消费意愿下降。但是这个问题是不可避免的所以在工具完成之后需要宣讲这个只是辅助不能完全定位,波动尽可能的降到最低,分析具体原因调研解决
- 每次保证测试环境是一致的。
- 每次检测跑多次数据,关注波动曲线和平均值
总结
工作的过程我们很少有机会可以完整的去主导一件事情,技术项就是一个很好的机会,但是同时技术项又需要很多新颖的想法和可落地的方案,跳出舒适圈去找一些新的想法去大胆落地做下去你就会发现有很多收获