作为一名开发人员,当项目开发到一定的阶段,公司总会提及到产品的性能问题,产品的性能问题,就会涉及到服务器性能问题,产品交互性能问题。这里主要重前端角度来分析产品性能监控问题,
前端能做性能监控吗?
答案是肯定的,只是我们在开发的过程中小厂前端很少要求做性能的监控,很多项目都是要求快速成型,快速迭代。产品的生命周期会很短。看过大厂的前端性能监控项目,特别复杂,但是功能也比较强大,数据动辄亿万级别,最后接入大数据,处理出来的数据也非常精准,对产品的分析,用户画像非常精准。这里简单介绍一下搭建前端性能监控的基本步骤。
为什么要做前端监控呢?
1、对开发来说:
(1)、快速定位问题、解决问题。
(2)、对代码优化有很大的帮助。
(3)、对开发人员深度、广度的技能提升。
2、对产品、公司来说:
(1)、很好提供产品研发决策依据;
(2)、做出产品业务推广、拓展,做有利依据;
(3)、更好的发现产品的性能瓶颈;
(4)、产品优化 pv/uv 等数据有效统计;
前端可以从那些方面来做监控?
1、业务层面 business
- pv: 页面的浏览量和点击量
- vu:访问网站不同ip 数量
- 用户在每个页面的停留时长
2、稳定层面 stability
- 代码错误: js代码错误、promise 错误等
- 资源加载错误: 依赖加载错误、css 模块加载错误、
- 接口错误:ajax 接口访问错误等
- 页面白屏:首页白屏、页面加载渲染时间缓慢等
3、用户体验层面 experience
- 首页白屏时间
- 页面加载时常
- 用户停等待时长
前端实现性能监控步骤流程
1、采集阶段:数据的采集
2、API 阶段:搭建 API 应用,接收采集到的数据
3、数据存储阶段:API 应用对接数据库,将采集到的数据存起来
4、查询统计阶段:对采集到的数据进行查询,统计,分析
5、可视化阶段:前端通过 API 查询统计数据,做可视化展示
6、报警阶段:API 对接报警通知服务,
7、部署阶段:应用整体部署上线