我有两台运行 Windows XP SP3 的计算机。我在两台计算机上都安装了 cygwin,版本为 1.7。我在两台计算机上都安装了 rsync 和 ssh,并根据提供的 ssh-host-config 和 ssh-user-config 程序使用默认设置进行了配置。
我将公钥移到各自的位置,基本上 ssh 工作正常。我开始 rsync 操作,使用:
rsync -av --delete --hard-links local_dir username@other_machine:/some_dir
嗯……两台机器的处理器都处于空闲状态,没有过度使用。我使用进程资源管理器检查了两台机器的 IO,IO 也处于正常水平(1~2 MB/s),所以我看不出瓶颈在哪里,因为网络性能太差了。我不会超过 1MB/s……而使用 Windows 共享的正常文件复制速度可以达到约 10 MB/s……
可能出了什么问题?
编辑1:
按照建议,我运行了 iperf 测试,但结果并不好……
$ iperf -c 192.168.66.3 -t 10
------------------------------------------------------------
Client connecting to 192.168.66.3, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.66.5 port 1220 connected with 192.168.66.3 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-17.0 sec 72.0 KBytes 34.7 Kbits/sec
答案1
我首先尝试找出您的网络(在 cygwin 内部)是否很慢。您可以尝试使用 iperf 运行一些基本基准测试。
在服务器上:
iperf -s
在客户端上:
iperf -c <host of server>
这应该会显示接近 100 MBit/秒的输出。如果没有,则问题与 rsync(以及您因 SSH 访问而使用的加密)无关。