-
Notifications
You must be signed in to change notification settings - Fork 833
推荐设置
针对视频、下载、网页等日常应用。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/推荐设置(旧)和解释
(里面推荐的设置是旧的,不过原理部分都是适用的)
-f
参数还支持一种更高级的形式,比如:-f1:3,2:4,8:6,20:10
,可以节省流量, 推荐接受能力强的用户/特别在意流量的用户看一下。
链接:
https://github.com/wangyu-/UDPspeeder/wiki/Fine-grained-FEC-Parameters