所以,我最近需要从海外的一个办事处通过互联网提取一个大文件。 两个办事处的双向都有50Mbit的光纤链路,但是往返时间是可怕的,从一个好日子的450毫秒和一个废话750毫秒。
最初,我试图通过VPN连接拉动文件,但一些失败的转移(smb真的吸收了慢速链接),速度最高达到128kBps快速谷歌显示,我正在对Windows TCP窗口缩放问题运行。
我已经通过一个商业的私有云types的服务,该文件在这里得到更快的文件,所以下面是更多的好奇心比其他任何。
有趣的是,两端的互联网访问是通过一个HTTP代理。 不过,我确实有两端机器的pipe理员权限。
你将如何获得更好的速度?
我试过的东西:
1)在两个linux虚拟机之间使用简单的SFTP,使用corkscrew通过http代理和第三个中介将两端连接在一起。 速度达到了:大约600kBps。
2)SFTP,但使用OpenSSH修补HPN-SSH。 开瓶器和中介configuration与1)相同。 如果有任何速度改善,很less
3)按照2,但用pget pget -c -n 10使用LFTP将传输分成块。 这是迄今为止最好的,看到3.5MBPS …
所有改进都欢迎。
目前,我正在通过使用UDR作为传输方式在UDP上封装rsync来解决长途和更高延迟链路上的传输问题。 UDR使用UDT ,其描述如下:
UDT是一种可靠的基于UDP的应用程序级数据传输协议,适用于广域高速networking中的分布式数据密集型应用程序。 UDT使用UDP通过其自身的可靠性控制和拥塞控制机制来传输批量数据。 新协议可以以比TCP高得多的速度传输数据。 UDT也是一个高度可configuration的框架,可以适应各种拥塞控制algorithm。
这在默认情况下禁用了encryption,这是我在修补HPN-SSH时需要的一个重要的事情,但UDP方法已经有所帮助了。 UDR / UDP解决scheme的主要优点是命令function不会有太大改变。 你最终预先与udr的rsync命令。
udr rsync -avP --stats --delete --inplace /data/ mir1:/data/
另请参阅: 适用于SSHstream量的WAN优化的可能性
我在$ lastjob有同样的问题。
保持纯粹的我自己的基础设施,我从来没有find比LFTP更好的解决scheme。
如果您可以certificate这笔费用,则可以获得进行WAN加速的设备。 基本上,他们透明地把你的要求变成更大的块,从而大大减less了两个网站之间的暧昧。 Riverbed可能是那里最知名的select,但是IIRC也有一个Juniper路由器的模块。 目前我不知道任何FLOSS选项。
实际上,我发现最好的select是Dropbox等,但这可能是不能接受的。