为什么我的rsync与纯cp甚至scp相比都这么慢?

为什么我的rsync与纯cp甚至scp相比都这么慢?,第1张

概述我正在通过已安装的共享将文件从 Linux传输到Windows 7(该共享是从Linux上的Windows安装的)..我正在从LAN中的旧机器复制大量数据(即几乎TB) .我已经很不幸了,我只有100MBit.当然我盲目地使用rsync但是在一天之后已经想知道它为什么感觉这么慢.启用进度表显示我的传输速率约为2MB / s. 所以我拿了一个合理的大文件(800MB)并跟踪传输时间(1): cp : 我正在通过已安装的共享将文件从 Linux传输到windows 7(该共享是从linux上的windows安装的)..我正在从LAN中的旧机器复制大量数据(即几乎TB) .我已经很不幸了,我只有100MBit.当然我盲目地使用rsync但是在一天之后已经想知道它为什么感觉这么慢.启用进度表显示我的传输速率约为2MB / s.

所以我拿了一个合理的大文件(800MB)并跟踪传输时间(1):

cp : 05:33scp (2): 06:33rsync : 21:51

1)我在每次运行之间删除了文件
2)scp通过localhost直接将同一台linux机器上的共享;完全无用但提供了进度表

测试很简单

(cp|scp|rsync) <source> <destination>

除了scp的主机/端口之外没有特殊参数.我甚至为rsync尝试了-W开关,但在十分钟后取消了. rsync在Lenny上运行3.0.3.为了能够随时中断复制过程并恢复引导我到rsync,但现在我认为我真的需要重新考虑这个要求.

怎么可能有这么大的差异?

更新/解决:

感谢rschuler,我能够解决问题:出于效率原因,使用rsync守护进程代替smb mount.所述Deltacopy有效,但必须注意一些事情

>这是一个很好的GUI包装器,但如果出现问题,最好知道如何修复它.似乎我输入了我的用户凭据,在其下运​​行rsync服务,第一次出错,但GUI不允许我设置新的.我发现它是作为服务运行的,并且能够在那里设置正确的凭据
>需要手动将端口添加到防火墙以允许连接
>个人品味:确保共享密码保护或如果没有密码保护,可能确保服务不会自动启动windows;以防万一
>包装的rsync二进制文件不是本机windows端口,而是基于cygwin构建.但是,包含的cygwin DLL不能正确处理UTF8并且不会破坏非ascii字符.从http://www.okisoft.co.jp/esc/utf8-cygwin/获取一个固定的DLL.

之后,转移率从2MB / s跃升至~8MB / s;绝对精彩!

解决方法 (该共享是从linux上的windows安装的)

那是你的问题. rsync正在目标上执行滚动校验和.窗户共享.您正在通过网络提取所有数据来计算校验和. (可能不止一次).

您需要做的是在两台机器上运行rsync.这样,只有差异(和校验和)将通过网络电缆传输. DeltaCopy是一个窗口化的rsync.它有足够好的文档可以让你前进.

请参阅此question的最终投票答案,以便更好地解释为什么我认为您可能会误用rsync.

总结

以上是内存溢出为你收集整理的为什么我的rsync与纯cp甚至scp相比都这么慢?全部内容,希望文章能够帮你解决为什么我的rsync与纯cp甚至scp相比都这么慢?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1044179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存