Skip to content

推荐设置

wangyu- edited this page Oct 2, 2018 · 114 revisions

非游戏场景的推荐设置

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

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

-f20:10 --timeout 8是默认参数,可以不写出来。

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

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

如果你是第一次用UDPspeeder,建议先用较大冗余度的参数,比如-f20:20;等确认可以连通、丢包正常后,再把冗余度降低(以防止网络丢包过大、发送的冗余数据不够,让你误以为连接不通、浪费时间调试)。 下同。

游戏场景的推荐设置

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,会使overhead过大以至造成带宽/CPU浪费,具体请看进阶阅读部分。 不过如果你正确得使用了Fine-grained fec parameters这个功能(见后文),就不存在这个问题了,因为这样UDPspeeder会自动从一组备选参数中选出最优的。

两端的-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/推荐设置(旧)和解释

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

更精细化的fec参数(20170806.0及以后的版本支持)

-f参数还支持一种更高级的形式,比如:-f1:3,2:4,8:6,20:10,可以节省流量, 推荐接受能力强的用户/特别在意流量的用户看一下。

链接:

https://github.com/wangyu-/UDPspeeder/wiki/Fine-grained-FEC-Parameters

Clone this wiki locally