我的笔记本电脑和我的工作站都连接到千兆交换机.两者都在运行
Linux.但是当我使用rsync复制文件时,它表现不佳.
我得到大约22 MB / s.理论上我不应该得到大约125 MB / s?这里的限制因素是什么?
编辑:我进行了一些实验.
在笔记本电脑上写性能
笔记本电脑有一个带有全盘加密的xfs文件系统.它使用aes-cbc-essiv:sha256密码模式,密钥长度为256位.磁盘写入性能为58.8 MB / s.
iblue@nerdpol:~$LANG=C dd if=/dev/zero of=test.img bs=1M count=1024 1073741824 Bytes (1.1 GB) copied,18.2735 s,58.8 MB/s
读取工作站上的性能
我复制的文件位于5个硬盘驱动器上的RAID-5软件上.突袭之上是一个lvm.卷本身使用相同的密码加密.工作站有一个FX-8150 cpu,它具有原生AES-NI指令集,可加速加密.磁盘读取性能为256 MB / s(缓存很冷).
iblue@raven:/mnt/bytemachine/imgs$dd if=backup-1333796266.tar.bz2 of=/dev/null bs=1M 10213172008 bytes (10 GB) copied,39.8882 s,256 MB/s
网络性能
我在两个客户端之间运行了iperf.网络性能为939 Mbit / s
iblue@raven $iperf -c 94.135.XXX ------------------------------------------------------------ Client connecting to 94.135.XXX,TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 94.135.XXX port 59385 connected with 94.135.YYY port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.09 GBytes 939 Mbits/sec
解决方法
另一种缓解高cpu使用率但仍保留rsync功能的方法是从rsync / SSH转移到rsync / NFS.您可以通过NFS导出要复制的路径,然后在本地使用rsync从NFS挂载到目标位置.
在WD MyBook Live网络磁盘的一次测试中,从千兆网络上的NAS到2个本地USB磁盘的一个或多个rsyncs在导出后不会复制超过10MB /秒(cpu:80%usr,20%sys)从NFS共享到本地的NFS和rsyncing到两个磁盘我总共得到45MB /秒(最大化两个USB2磁盘)和很少的cpu使用率.使用rsync / SSH时的磁盘利用率约为6%,使用rsync / NFS接近24%,而两个USB2磁盘接近100%.
因此,我们有效地将瓶颈从NAS cpu转移到两个USB2磁盘.