Skip to content

推荐设置

wangyu- edited this page Feb 22, 2018 · 114 revisions

非游戏场景的推荐设置

针对视频、下载、网页等日常应用。1.5倍流量,但是会引入一点额外延迟(<=16ms)。

./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777   -k "passwd"  -f20:10
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd"  -f20:10

上面的参数隐含默认参数 --timeout 8 --mode 0等,不需要写出来。

如果你的网络丢包率非常高,可以把-f20:10改为-f20:20,这样消耗的是两倍流量。

如果你想节省CPU, 可以把-f20:10改为-f10:5

游戏场景的推荐设置

3倍流量,但是引入的额外延迟更小(<=2ms)

./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777   -k "passwd"  -f2:4 --timeout 1
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd"  -f2:4 --timeout 1

如果你的网络本身就丢包不高,可以把-f2:4换成-f2:2,这样消耗的是2倍流量。-f2:4里面的2强烈不建议修改为其他值。

折衷设置

既照顾流量使用,又照顾延迟,在两者之间折衷。

1.6倍的流量,引入的额外延<=6ms。

./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777   -k "passwd"  -f10:6 --timeout 3
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd"  -f10:6 --timeout 3

当然也可以把-f10:6换成-f10:10等。

游戏场景的设置,不在乎流量

使用大于3倍的流量(具体倍数不是很可控),但是不会引入额外的延迟。

./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777   -k "passwd"  -f2:4 --timeout 0
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd"  -f2:4 --timeout 0

注1:--timeout 0只能配合-f2:x使用, 不当使用此参数可能会极大地浪费带宽。

注2:有些教程和issue中提到过-q1这个参数,实际上--timeout 0-q1的作用是等价的。推荐用--timeout 0这个形式,更容易理解。

参数简介

-fx:y的意思是对每x个数据包发送y个冗余包,决定消耗的流量的倍数,比如-f20:10是消耗1.5倍流量。

除非你读了wiki里的mtu相关文章,否则不建议把x设置成1,建议x>=2。

--timeout t的值决定允许的最大延迟;UDPspeeder会尝试积攒t毫秒的数据包一起做FEC,这个过程会引入延迟。

t和x的值需要合理搭配,一般来说如果你要调小t的值,x的值也要调小;如果用过小的t搭配大的x,会造成带宽/CPU浪费,具体请看进阶阅读部分。 如果看不懂的话,建议就用推荐的参数,不要自己改。

两端的-f参数和--timeout参数可以不同,来对上/下行链路做分别优化。

其他常用参数

-i参数也比较实用。作用是,用交错FEC的方式,牺牲一定的延迟,来抵御网络的突发性丢包。可以提升网络的稳定性。例子:

./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777   -k "passwd"  -f20:10 -i 10
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd"  -f20:10 -i 10

额外牺牲10ms+10ms的延迟,来换取稳定性,在进阶阅读部分有说明。 两端的-i参数也可以不同。

进阶阅读

如果想进一步了解参数的含义,请看:

https://github.com/wangyu-/UDPspeeder/wiki/推荐设置(旧)和解释

(里面推荐的设置是旧的,不过原理部分都是适用的)