性能监控Dashboard
一、 业务背景
作为一个日活过亿的APP,随着新特性的不断迭代,包越来越大,谁也无法预料哪个Dev会发布一个bug,导致手机掉电飞快或卡到怀疑人生。所以软件性能的监控是非常重要的一环。毕竟用户离开的时候会抱不留情。常见的监控指标,一般有CPU、温度等,手机硬件数据采集都是通过埋点上报,每5秒频率。同时性能团队也会做AB实验,来跟踪实验效果,再决定是否推全。
二、问题恶化
随着用户增加和性能策略迭代,任务运行时间由3小时上升为7小时,性能团队要T-2才能回收实验效果。
我们可以预估一下数据量: 每日用户手机端上报的数据量约200亿,但是这里要关联另一张表:用户实验关系表,关联下来日级增量数据就是2000亿。
三、定位分析
数据量大到无法呼吸,而且业务需求还有100个指标要计算,只能硬着头皮扫描一下核心脚本,这里只截取一小段,实际脚本大概2K行左右。