背景
在文件备份与文件迁移的场景下,rsync 工具最为常用,然而在海量的小文件场景中,所以效率并不理想(rsync为单线程同步工具)。所以需要一些奇技淫巧来提高复制的效率--使用fpsync。
模拟场景
使用以下命令来模拟数据场景
# mkdir -p /fpsync-test/src/{a..z}/ # seq 1 100000 | parallel "dd if=/dev/urandom of=/fpsync-test/src/{a..z}/{}.bin bs=4K count=1"
未全部执行完成,中途取消
数据文件状态
# find /fpsync-test/src/ | wc -l 147667 # du -sh /fpsync-test/src/ 581M /fpsync-test/src/
工具使用
使用非奇技淫巧耗时
# time rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --ignore-errors --progress --log-file=/tmp/rsync.log --quiet /fpsync-test/src/ /fpsync-test/dst real 1m52.061s user 0m19.230s sys 0m12.382s
奇技淫巧耗时
# time fpsync -v -n $(nproc --all) -o "-lptgoD -v --numeric-ids" /fpsync-test/src/ /fpsync-test/dst/ 1738503801 ===> Job name: 1738503801-24923 1738503801 ===> Analyzing filesystem... 1738503803 ===> Waiting for sync jobs to complete... 1738503872 <=== Parts done: 74/74 (100%), remaining: 0 1738503872 <=== Time elapsed: 71s, remaining: ~0s (~0s/job) 1738503872 <=== Fpsync completed without error. real 1m10.964s user 0m9.227s sys 0m15.711s
机器核数为2,效果不算过于明显。
注意要点
fpsync工具不具备--delete功能,可以全量复制使用fpsync,增量使用rsync
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://sg.hqyman.cn/post/9540.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~