Tag: mingw

rsync在 Linux/cygwin/msys 环境下的备份性能对比

本文博客链接:https://zohead.com/archives/rsync-performance-linux-cygwin-msys/ rsync是一个开源免费的文件同步和备份工具,可用于本地备份,本地与远程服务器之间的备份,可以实现增量和差异备份,而且由于比较好的算法,在文件备份速度上也相对其它一些文件备份工具有明显的优势。 但 rsync 一直以来没有 Windows 下的原生客户端,都是基于 cygwin 环境实现,实际备份性能会受一些影响,近日看到 rsync 的 基于 MSYS 的 Win32 原生客户端已经被 port 出来,故简单做下性能对比测试。 测试环境: rsync服务器为 RHEL5 Linux 64bit,8个SATA盘的RAID0做下层存储,采用单千兆网络和千兆交换机 rsync客户端为:RHEL5 Linux 64bit,Windows 2003 Enterprise 32bit 测试时 rsync 均通过匿名方式访问,不经过SSH做用户验证,由于考虑到测试的 rsync 客户端的系统盘速度有瓶颈,客户端文件读写都通过内存文件系统来实现(Linux 上使用 tmpfs,Windows 上使用 ImDisk 模拟内存盘)。 使用同样的客户端主板分别在 Linux 和 Windows 内存中产生 1.5GB 的测试文件,然后通过 rsync 客户端进行备份到服务器(写操作)和从服务器上恢复(读操作)的操作。 备份命令示例: rsync -hv x.dat 192.168.1.125::rsync0/ 测试软件列表: 标准 Linux rsync 客户端(RHEL 5 系统自带) cygwin rsync 客户端 MSYS rsync 客户端 http://sourceforge.net/projects/mingw/files/MSYS/Extension/rsync/ RsyncWin32 客户端 http://sourceforge.net/projects/rsyncwin32/ 测试结果:   测试软件 写性能(MB/s) 读性能(MB/s) Linux rsync 105.27 105.28 cygwin rsync 76.22 64.49 MSYS rsync 7.98 8.14 RsyncWin32 76.72(出现错误) 38.50(出现错误) 从测试结果看,由于 rsync 本身面向类 Linux 环境开发,在 Linux 系统中有着非常好的性能,cygwin rsync 与 Linux 相比有一定差距,但实际使用中还是比较稳定的,而 MSYS rsync 还处于测试阶段,虽然没有出现备份错误,但在千兆网络环境下性能非常差,RsyncWin32 则相对而言问题比较多,备份过程中甚至会出现备份错误。 综上看来,目前在 Windows 上使用 cygwin rsync 做备份客户端仍然算是比较好的解决方案,MSYS rsync 的问题可以啥时候有空再看看咯。