作者:孙长浩(火炏)
弱网环境下的质量保障一直是公认的难题,实际生活中每个人都会遇到弱网环境,比如用户在景区地铁里,高铁上,电梯中,景区周边等场景使用APP大概率都会遇到弱网场景。优酷作为视频内容APP,对网络的要求特征为持续时间长,带宽平稳等,所以对弱网环境尤其敏感。在弱网环境下,用户会遇到诸如卡顿、停止播放等体验问题。我们通过分析埋点数据可以清晰的看到目前线上的错误码中,网络(弱网)相关的错误码类型占比已经超过一半以上。因此,为了提高版本上线质量,有效的模拟线上网络环境,弱网环境下的测试是不可或缺的线下测试组成部分。
基于此,优酷弱网平台从业务的实际痛点出发,针对弱网进行标准化的分级定义,对场景进行精确测量,对线上回溯数据进行精准回放,并对线下/线上弱网模型匹配训练。通过平台化的方式,提供统一的使用和接入方法,不断积累和沉淀更明确的衡量指标以及合理性的标准判断,给测试和开发人员提供更有效的弱网仿真模型。本文就将结合业务场景,展开聊聊优酷弱网测试平台的控制原理、技术实现以及具体业务的使用情况。
弱网认知及原理
弱网认知
弱网没有严格的指标进行定义,实际可以理解为用户在实际使用个人业务时因信号波动、网络拥堵等原因造成的业务使用体感差,从而进行的一种体感性描述。
根据用户的实际场景,造成弱网的原因一般有两种:
- 物理硬件导致:比如离路由器过远,信号强度低,也有周边干扰大,导致误码率高等情况均会导致用户弱网;
- IP网络传输性能弱:比如网络节点性能过载,运营商网络限制,跨网传输等等。
可参考下图进行理解
通过上图两种场景可以看到整体网络构造比较复杂,存在模拟难、无法量化的问题,无法制定统一标准。因此,我们尝试通过其他方式来进行量化。通过参考 RFC2544 文档,我们得知衡量网络性能好坏的方法可以通过吞吐量、丢包率、延时、背靠背四个维度进行衡量,定义标准。因背靠背主要测试转发能力,因此大多数采用前三项进行衡量。
弱网控制原理
由下图TCP/IP协议传输过程,弱网控制主要有两种场景:硬件控制和软件控制。