通过一次运行多个实例来加速rsync?

我必须将一个大目录转移到另一台服务器上。

我的问题是,我不能使用可用的全部带宽,因为一个并发的tcpstream速不会那么快。

基本上任何下载pipe理器现在支持的function。

所以我想做并发数据stream。

但是我找不到一个支持这个的程序,所以我想到了一次只运行多个实例或rsync

这是一个好主意,还是可以让我指出一个更合适的工具的方向?

你可以用lftpreplacersync – 在超级用户上看到我的post:

https://superuser.com/questions/75681/inverse-multiplexing-to-speed-up-file-transfer/305236#305236

唯一的问题可能是,lftp不会“只传输已更改/添加的文件”。 但我可以向你保证,这是我看到以multithreading方式传输数据的最快方式。

顺便说一下,您提出的问题,即TCP连接无法充分利用整个networking带宽的问题,只会出现在带宽延迟产品很大的情况下,而这种情况在很less的networking中就是这种情况。 在局域网中,延迟很小,从而使产品保持较小,而在广域网中,带宽很小,使产品保持较小。

如果你有一个networking带宽很大的延迟产品,你可以做一些事情来调整TCP工作,从增加窗口大小和增加pathMTU开始(好吧,这是一个IP调整,而不是TCP调整,但适用!)。 看看有关研究networking的文章,了解更多。 要进一步帮助您将TCP调优到您的场景,您可能需要描述您的特定networking。

至于使用rsync,你不能有效地运行两个同时rsyncs同时复制相同的文件。

我唯一能想到的,你可以在rsync级别上做的事情是把你的目录分成多个子目录,并且把它们一个接一个地并行传输。