wangyu- / tinyfecVPN

A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support. Improves your Network Quality on a High-latency Lossy Link.
MIT License
2.28k stars 457 forks source link

关于速度的问题. #26

Closed squallgai closed 6 years ago

squallgai commented 6 years ago

大佬你好,先谢谢您贡献了这么好的软件,在用了你的tinyfecvpn后测试了半个月了。首先稳定性提升了。我几个vps都是丢包率很低的。。用了这个软件不管F2:2或者F20:10,速度都没有提升,但是稳定性都提升了 直连跟通过tinyfecvpn连接,速度是都一样的。请问是我的设置不对吗?加了bbr后传输tcp的速度才会提升,UDP应该还是一样的吧

wangyu- commented 6 years ago

你的丢包有多少,本地带宽有多少?你用什么方法测试的速度?

直连tcp速度能达到多少,通过tinyfecvpn能达到多少?开了bbr以后能达到多少?

squallgai commented 6 years ago

vps的丢包率是3%-5%,用winmtr测试的,用了tinyfecvpn掉包率是1%内了,本地带宽是100M,直接用酸酸乳跟L2TP看youtube,还有直接用ftp从服务器上拖文件,tinyfecvpn youtube 2W左右。跟裸连差不多。开启BBR后直接10W。。

wangyu- commented 6 years ago

我估计你测试方法有问题。

你的数据貌似互相冲突,如果vps丢包3%~5%,在不开bbr情况下应该已经很卡了。

另外youtube的带宽显示不是很可靠。 你说2w 10w应该是youtube的数据吧,你自己传文件测出的速度有多少?能否提供一下传文件的对比数据?

squallgai commented 6 years ago

好的。我通过sstap全局来下文件看看吧。。谢谢大佬。3%的丢包看youtube一点都不会卡的...玩游戏都没什么大感觉,100个才丢3个..

wangyu- commented 6 years ago

如果是从丢包率3~5%降到1%,tcp的单线程速度应该会有很大提升。 除非还有其他因素影响了速度,比如cpu沾满了。

wangyu- commented 6 years ago

youtube本身就是部署了bbr的,你用l2tp方式是可以从youtube上部署的bbr受益的。你在VPS上再部署BBR,理应是没有效果提升的。

3~5%在没有BBR加速的情况下应该会很慢。

squallgai commented 6 years ago

我本来以为是通过多倍发包只是通过算法多倍发包,只是解决靠发包来解决丢包问题...可能不存在提升速度,只有稳定性的..

wangyu- commented 6 years ago

tcp的拥塞控制受丢包率影响非常大(在没有BBR情况下),丢包降低会带来明显速度提升。

squallgai commented 6 years ago

那在丢包率只有1%以内的情况下呢,比如加了中转后,不装任何东西的情况下,丢包率都是1%以内,看youtube之类的都是,比如5W,带宽是占不满的,奇怪的是BBR之类的都能让速度提升..

wangyu- commented 6 years ago

5%的时候tcp在没有BBR的情况下只能达到200kb/s左右(也许更低,具体记不清了)。

1%以下我没测试过,但是1%的丢包已经不低了,如果能把1%降到0.01%还是会有明显提升的。

这是google的测试结果(普通tcp vs BBR在各种丢包率的表现):

v2-1df6e7ba0cae0147dddb01aac0d0f309_hd

具体可以看: https://www.zhihu.com/question/53559433

我觉得你的数据有问题,而且你也没弄清楚什么情况下连接是被BBR加速的。建议你控制好测试条件,重新测试吧。

==update== 你还得搞清楚一点,你的youtube的走的是tcp还是quic。如果不清楚,建议就下载文件测试,不要用youtube。

squallgai commented 6 years ago

郁闷了,刚才弄了半天,只测试了个BBR对于L2TP是没用的。。 在fast.com上面测试的,L2TP直连速度是2Mb,sstap是29Mb,通过tinyfcevpn l2tp也是2Mb..SSTAP是30Mb.. 可能是我哪里弄不对了吧。我再搞两台vps试试看....

squallgai commented 6 years ago

主要是已经装过BBR了,重新测试的时候先测试没装的情况,再重装系统装BBR后再测试。。

wangyu- commented 6 years ago

主要是已经装过BBR了,重新测试的时候先测试没装的情况,再重装系统装BBR后再测试。。

这个问题跟tinyFecVPN无关,不过我友情提醒一下:

sysctl net.ipv4.tcp_congestion_control=cubic可以关闭bbr。

sysctl net.ipv4.tcp_congestion_control=bbr重新开启。

不需要重装,其他的你自己慢慢研究吧,把我前面说的搞清楚再测式。

squallgai commented 6 years ago

好的,非常感谢回答