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

Concurrency 通过一次运行多个实例来加速rsync?,concurrency,ssh,rsync,file-transfer,Concurrency,Ssh,Rsync,File Transfer,我必须把一个大目录转移到另一台服务器上 我的问题是,我无法使用可用的全部带宽,因为一个并发tcp流的速度没有那么快 基本上是现在任何下载管理器都支持的功能 因此,我想做并发数据流 然而,我找不到一个支持这个的程序,所以我考虑一次运行多个实例或rsync 这是一个好主意,还是你能为我指出一个更合适的工具的方向?我不知道还有其他工具,但是两个并行的rsync会话当然可以 但是,您需要仔细地对目录进行分区。两个参数相同的rsync可能会适得其反,或者只是被破坏(可能) 另外,还要注意SSH连接共享。它

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

我的问题是,我无法使用可用的全部带宽,因为一个并发tcp流的速度没有那么快

基本上是现在任何下载管理器都支持的功能

因此,我想做并发数据流

然而,我找不到一个支持这个的程序,所以我考虑一次运行多个实例或rsync


这是一个好主意,还是你能为我指出一个更合适的工具的方向?

我不知道还有其他工具,但是两个并行的rsync会话当然可以

但是,您需要仔细地对目录进行分区。两个参数相同的rsync可能会适得其反,或者只是被破坏(可能)


另外,还要注意SSH连接共享。它对于快速身份验证非常有用,但我不确定是否最终会将所有数据发送到同一个TCP流。

我想我只需编写一个快速脚本,从rsync-va(干运行)获取文件列表,然后逐项循环,并在子进程中使用单独的rsync命令传输每个文件。我已经设置了密钥身份验证,所以它将在没有密码身份验证的情况下运行…由于您追求速度,您可能会发现将其分割为100个文件块,比如说,在单个文件上可能比rsync性能更好?(我的意思是,每次创建一个新的连接都会有很高的开销。)另外,如果必须创建子目录,那么可能存在竞争条件?最后,不要混淆SSH连接共享和密钥身份验证:前者只假装打开一个新链接,而后者实际上打开了一个新链接。