我必须将一个大目录传送到另一台服务器。
我的问题是,我无法使用可用的全部带宽,因为一个并发tcp流的速度并不快。
基本上,现在任何下载管理器都支持的功能。
因此,我想做并发数据流。
但是,我找不到一个支持这一点的程序,所以我考虑一次运行多个实例或rsync。
这是个好主意,还是你能给我指明一个更合适的工具的方向?
发布于 2012-04-02 08:37:58
您可以用lftp替换rsync -参见我在超级用户上的文章:
https://superuser.com/questions/75681/inverse-multiplexing-to-speed-up-file-transfer/305236#305236
唯一的问题可能是lftp不只是“传输更改/添加的文件”。但我可以向你保证,这是我所见过的以多线程方式传输数据的最快方式。
发布于 2012-04-01 17:55:17
顺便说一句,您提出的问题,即TCP连接无法以足够快的速度耗尽整个网络带宽的问题,只有在带宽延迟积很大的情况下才会出现,这在很少的网络上是这样的。在局域网中,延迟很小,这使得产品很小,而在广域网中,带宽很小,使得产品很小。
如果您的网络具有非常大的带宽延迟产品,您可以通过调整TCP来处理它,首先是增加窗口大小和增加路径MTU (这是IP调整,而不是TCP调整,但它适用!)要了解更多关于这方面的信息,请看关于研究网络的论文。要进一步帮助调整TCP以适应您的方案,您可能需要描述您的特定网络。
至于使用rsync,您不能同时运行两个同时复制相同文件的rsyncs。
在rsync级别上,我能想到的唯一一件事就是将目录分解为多个子目录,然后一个一个地并行地传输它们。
https://serverfault.com/questions/375720
复制相似问题