关于大量小文件拷贝的那些事儿(二)

2018-01-21  本文已影响2040人  草丛螳螂

前面测了linux系统和linux系统之间的copy,这次需求又变了,要测从windows复制到linux系统的性能。

查看windows下主流的拷贝工具,发现了这四款FastCopy,Teracopy,ExtremeCopyProSupercopier。由于都是本机拷贝,而我要测试的是跨网络的性能,于是只选择FastCopy作为比较对象。

跨网络的协议,我选择samba,ftp,nfs。

此外,在做关于大量小文件拷贝的那些事儿(一)测试中,发现使用tar方式,通过管道不落盘拷贝的方法,性能很好,觉得windows从linux拷贝,也可以考虑这种方式,只需要将windows的磁盘mount过去就行了。

76000张图片,每张大小在200k-300k之间,一共是21.8G

windows Server 2008 内存80G    磁盘2T HGST HST724020AL cpu intel 2620 v4

linux   centos 7.5  内存126G   磁盘500G Seagate Constellation ES的ST500nm0011 cpu intel 2620 v2

方式       平均速率    用时       其他要求

FastCopy   4.54MB/s  01:22:48     linux侧需要部署nfs或者samba服务器,windows侧提供fastCopy小工具

samba      2.36MB/s  02:20:10     linux侧需要部署samba服务器

vsftp      4.14MB/s  01:29:20     linux侧需要部署vsftp服务器,windows侧需要提供ftpclient,测试中使用的是FileZilla

nfs        0.01MB/s  大于66小时   linux侧部署nfs服务,windows侧也要开启nvf服务并挂载,还需要修改注册表信息。

mount+tar  52.1MB/s  00:05:59     windows侧需要开放目标文件的可读权限


备注:windows往windows系统使用fastcopy拷贝的性能是13.4MS/s。


以上是使用网络的方式拷贝,有同事建议我使用常用的程序员工具试试。比如win-scpputty等等,我尝试了一下,得到如下数据

使用win-scp Scp的性能为8.7MB/s (文件多了,程序容易出现崩溃)

使用win-scp sftp的性能为20.3MB/s(文件多了,程序容易出现崩溃)

pscp.exe的性能为9.7MB/s(putty自带)

psftp.exe的性能为14.1MB/s(putty自带)


结论:

      虽然FastCopy在拷贝大文件时能达到110MB/S的极限速度,但在大量小文件的拷贝上的性能很弱,本地同盘拷贝也只有8.02MB/s的速率。

      mount + tar的方式,拷贝大量小文件的性能明显优于其他工具。

      综合考虑,windows往linux拷贝大量小文件,psftp最合适。

参考链接:

https://xbeta.info/fastcopy-teracopy-extremecopy-supercopier.htm

https://wenku.baidu.com/view/7ed645fa6c175f0e7dd13742.html

上一篇 下一篇

猜你喜欢

热点阅读