之前已经介绍过 suft 一些,在这里 /t/258503
今天做一个对比测试,服务端 digitalocean sfo 512m 1cpu ,客户端某电信机房服务器。
现在 sfo 上打开锐速,启动一个 http 流测试服务,在电信机器上 wget 下载 100m 流,客户端 bmon 观察流量,服务端用 ip -s 取流量数据。
紧接着,启动 suft-nc 测试服务端并输出 100m 文件,在电信机器上启动 suft-nc 客户端接收,客户端 bmon 观察流量,服务端用 ip -s 取流量数据。
服务端日志:
tcp 传输时,接收侧流量图:
suft 传输时,接收侧流量图:
数据已经给出,我们来分析 2 点:
1 、 传输速度,依然很明显
2 、 重发率比较:
tcp: (4150338202-4034687892)/1024/1024.0 = 110.2919921875 MB
suft: (4262815617-4150340893)/1024/1024.0 = 107.263671875 MB
在吞吐优势下,依然相比锐速 节省了 3M 的流量消耗。
https://github.com/spance/suft
suft 还在不断完善和继续开发,欢迎有兴趣的同学一起来改进和壮大 suft.
1
Strikeactor 2016-03-10 22:05:04 +08:00 1
感觉 3M 流量消耗的优势抵消不了双边加速需要客户端的劣势。。不过还是支持楼主
|
2
spance OP @Strikeactor 专用协议有特定的场景需要并不是来替代 tcp 的,保存高吞吐还要节省流量外加大延迟+丢包,能取得 3M 流量的节省已属十分不易。有兴趣希望多参与测试和一起改进。
|
3
oplang 2016-03-10 22:19:48 +08:00
还没能力 new full request 的持续关注中
|
4
kozora 2016-03-10 22:27:12 +08:00
支持
|
6
mhycy 2016-03-10 22:31:42 +08:00
一直没想通一件事,既然是丢包不敏感的算法,那么如何保证公平性呢?
|
7
tyhunter 2016-03-10 22:32:34 +08:00
是和锐速一样单边加速还是需要客户端( Finalspeed 之类的)
|
8
spance OP |
9
Devin 2016-03-10 22:51:15 +08:00 via iPhone
还是比较偏爱单边加速,不觉得 net-speeder 有很大改进空间吗?虽然很多人不喜欢双倍发包,但把这作为改进方向不是很好吗?
|
10
spance OP @Devin 双倍发包,重发率=100%,发送量=200%,实际能享受的有效吞吐大约 50%,也是公平性最差的方法,迅速的塞满各级路由器队列或者被丢掉,还能有比双倍更差的方法么?
|
11
mhycy 2016-03-10 22:56:58 +08:00
|
13
spance OP @mhycy 设计上延迟和丢包都不会吞吐有很多的影响,而延迟大抖动和丢包率畸变会带来一些影响。
如果两路或者多路 suft 流都在瞬时并发,可能会出现发送速度突发高峰,这个已经在考虑中,有兴趣的话希望来参与进来。 |
14
nbndco 2016-03-10 23:02:43 +08:00 via iPhone
没看代码,也没找到规范的说明,但是看到 readme ,有两点建议:
1. tcp 的 sequence number 是循环的,因为 window 的大小不会超过 2^31 ,这样可以传送无限数据 2. 既然已经放弃了兼容 tcp ,为何还要对数据基于字节做编号?实现难度会显著增加,并且很难做到针对丢失的数据包的重发(只能重发全部),应当针对数据包编号。 我最近也是想设计一个协议,现有协议都是国际化协议,不适合特色社会主义 |
15
spance OP @nbndco tcp 使用随机起点和循环编号,而 suft 使用连续编号,从 0 到 u32 最大,而且暂时不准备实现编号循环。
没有基于字节编号,基于包的编号,并且 suft 的 sack 实现更能有利于实现准确的重传。 |
16
mhycy 2016-03-10 23:10:27 +08:00
|
17
messyidea 2016-03-10 23:13:04 +08:00
希望以后能多一些应用的例子。前几天尝试了一下把曲径那个 qtunnel 的 local 到 remote 的部分换成 suft ,传输好像是可以了,就是不知道怎么传输完后断开,所以一段时间之后会造成 too many filediscrption 。主要是现在不太熟悉 go 的语法( 之后有空再看看
|
18
spance OP |
19
mhycy 2016-03-10 23:21:38 +08:00
|
20
yexm0 2016-03-10 23:32:25 +08:00
没办法,运营商对于网络的干预太严重了,电信 163 或者联通要上各种暴力发包的软件才能让网络体验稍微好些,而电信 cn2 或者移动 /铁通就根本不用安装任何软件都能有个非常优秀的网络体验.
|
21
20150517 2016-03-11 00:01:22 +08:00
请问你最后两张流量图是怎么显示出来的?是啥软件啊
|
22
sadscv 2016-03-11 00:59:55 +08:00
这个东东和 finalspeed 的区别在哪里啊?小白求教。
|
23
spance OP |
24
yjd 2016-03-11 11:01:56 +08:00
有没有 win 版本的。最近锐速竟然把免费版关了。没得用了。。说好的免费想关就关。
|
25
better0332 2016-03-11 15:54:11 +08:00
某些运营商对 udp QOS
|