需求:多媒体类app,为了加速,对于列表展现的用户上传小视频进行预加载,这样在用户点击时可立即播放。该行为甚至会预加载后面的多个视频。那么如何评估验证该需求的质量?
方案一:依赖开发人员添加预加载日志,记录发生时机、记录保存数据;貌似这是最靠谱的一种方式,前提是你的开发愿意配合;
方案二:如果是通过HTTP协议完成的预加载,那么通过Fiddler抓包分析,也可以实时验证;
如果不幸的以上两个方案条件都无法满足,该怎么办?日前就遇到了这样的一个需求需要验证。因此对苹果官方提供的instrument工具进行了一个遍历尝试:
尝试一:第一步还是想看抓包,于是搭建了wireshark抓包环境,分析了过程包,结果发现对于一个非标准格式传输的视频文件,你几乎无法保存成本地文件进行分析
尝试二:I/O分析,监控整个过程的IO日志,郁闷的发现量超大,且视频文件未落地磁盘,在内存cache中是无意义的字串标识的,无法分析
尝试三:网络流量监控,该方法会被大量其他流量请求干扰,且缓存视频只有几百K大小一个,几乎瞬间完成预加载。
综上,截止目前未找除开发日志外的有效方案,由此产生另一个思考:这种预加载收益如何?