跳转至

Rsync 删除海量文件测试


2014-07-22 by dongnan

环境

文件大小

du -sh log/ stat/
181G    log/
111G    stat/

文件数量

ls log/ | wc -l
2614

ls stat/ | wc -l
2862

测试

使用 rm 删除文件

time rm -rf stat/*
real    2m14.087s
user    0m0.051s
sys    0m2.260s

删除 2862 个文件花费 2分14秒

使用 rsync 删除文件

建立一个空文件夹

mkdir del

删除文件

time rsync -a --delete-before del/ log/
real    0m15.230s
user    0m0.045s
sys    0m3.434s

删除 2614 个文件花费 15秒

小结

rsync 删除文件速度远高于 rm 方式,具体原理请查看参考文章。

删除MFS海量文件

环境

软件版本: moosefs 2.0.45-1

MFS分布式文件系统大约存有49万个小文件,如下图:

目标

使用 rsync 删除 moosefs 测试环境的49万个文件。

步骤

测试命令

time rsync -a --delete-before /tmp/ /mnt/mfs/

real    9m16.080s
user    0m4.397s
sys    0m44.635s

小结

大约每秒钟删除 884 个文件与目录,需要注意的是 MFS分布式文件系统客户端,需要通过挂载用户空间的 fuse模块。

参考

为什么rsync能够快速删除400000文件

回到页面顶部