判断网络质量好坏的加权公式

问题


挑选最优接入点时主要依据是丢包率延时这两个参数,如何根据这两个参数来评判哪个接入点最优呢?


简单线性加权


以前尝试的做法是线性加权的方式,即“丢包率* 10 + 延时 * 1”,例如丢包率为3.5%且延时为200ms时,权值为235。但这毕竟是没有数学依据,只能做对照实验,采用10:1,20:1等多种加权方式对照。


存在的问题

对照实验给出的最优组合经常在变,有时10:1,有时20:1等,很难精确选择。

每接入一个新业务都需要重新做对照实验调优,成本高。

 

科学线性加权


模型是基于事件独立性假设,即丢包率为c时,每一次应用层尝试联网(建连 + 收发包)失败的概率认为是c。设往返延时的期望值为d,应用层超时重试的时间为D,那么:

第一次尝试联网成功的概率为(1 - c),对应的期望联网耗时为d;

第一次尝试联网失败但第二次成功的概率为c(1-c),对应的期望联网耗时为D + d;

前二次尝试联网失败但第三次成功的概率为c2(1-c),对应的期望联网耗时为2D + d;

前三次尝试联网失败但第四次成功的概率为c3(1-c),对应的期望联网耗时为3D + d;

那么,期望联网耗时为每种场景的期望值按概率加权平均的结果,如下:





可以看出,丢包率很小的时候,可以近似成d + Dc这种线性加权,假如超时时间为10秒时(D = 10000ms),考虑丢包率用百分比形式,那么相当于100:1是最优的。