1.先分析用户感觉慢的痛点主要是在哪些场景。 一般表现为某个页面的从点击行为打开,到渲染完毕,用户可以正常操作的时间太长了
产出:有哪些慢的场景,每个场景有多慢的数据?
通常需要采集的指标:平均耗时数据,第90%分位耗时数据,或者主要是某种特殊业务逻辑下(大用户?),调用量高峰时候的相关耗时数据
数据收集的一些方式:依赖前端埋点端到端的数据,后台接口elk数据,用浏览器开发者工具分析,或者手工体验收集等等
2.分析这个场景的接口,看看有没有不合理调用的接口。
2.1.有重复的调用或者不必要的调用可以干掉 2.2.接口数据太多太冗余是否可以进行拆分 2.3.是否有可以并发调用的接口(http1.0貌似只支持并发6个) 2.4.前端js处理逻辑是不是太久有问题
产出:前后端要去处理(合并,拆分,重组或者优化)的接口或者js逻辑,并且分析优先级,整理成要去做的任务。
3.后台具体接口的优化 运用apm或相关工具,查看分布式系统中,接口调用链路中,时间主要消耗在哪里了。然后定点优化。 3.1.循环调用不合理 3.2.不合理的远程调用 3.3.高峰期数据库线程不够用,调大 3.4.高峰期dubbo或者其他rpc线程不够用 3.5.数据库索引 3.6.进程gc情况,调整jvm参数
产出:测试环境的一些优化前后的数据对比
4.优化后线上结果观测,收益分析。 优化效果是否达到预期,没有达到的时候复盘分析
产出:线上环境性能收益分析报告
5.其他工程能力的改进,比如上云或者架构调整
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。