为什么rsync比NFS更快?
几天前我注意到一些很奇怪的东西(至less对我来说)。 我运行rsync复制相同的数据,然后删除NFS挂载,调用/nfs_mount/TEST 。 这个/nfs_mount/TEST是从nfs_server-eth1托pipe/导出的。 两个networking接口的MTU都是9000,两者之间的交换机也支持巨型帧。 如果我做rsync -av dir /nfs_mount/TEST/我得到networking传输速度X MBps。 如果我做rsync -av dir nfs_server-eth1:/nfs_mount/TEST/我的networking传输速度至less为2X MBps。 我的NFS挂载选项是nfs rw,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountvers=3,mountproto=tcp 。 底线:两个传输通过相同的networking子网,相同的线路,相同的接口,读取相同的数据,写入相同的目录等。唯一的区别是通过NFSv3,另一个通过rsync。 客户端是Ubuntu 10.04,服务器Ubuntu 9.10。 rsync如何快得多? 如何使NFS匹配的速度? 谢谢 编辑:请注意我使用rsync写入到NFS共享或SSH到NFS服务器,并写在那里。 两次我做rsync -av ,从明确的目的地目录开始。 明天我会尝试用简单的副本。 编辑2(附加信息):文件大小范围从1KB到15MB。 这些文件已经被压缩了,我试图进一步压缩它们,但没有成功。 我从该dir做了tar.gz文件。 这是模式: rsync -av dir /nfs_mount/TEST/ =最慢转移; rsync -av dir nfs_server-eth1:/nfs_mount/TEST/ =启用巨型帧的最快rsync; 没有巨型帧是有点慢,但仍然明显快于直接到NFS的速度; rsync -av dir.tar.gz nfs_server-eth1:/nfs_mount/TEST/ =大致与其非tar.gz等效; testing与cp和scp : cp -r dir […]