时间:2021-05-19
拷贝数据
远程拷贝数据的时候,我们一般使用rsync命令,但是如果拷贝大量的小文件,会导致rsync的传输速度慢。使用tar pv lz4打包压缩传输,可以解决这问题,使用这个方法,等同于使用scp、rsync传输大文件。
实测,使用rsync传输1200G,单个文件大小为几十KB~2GB,千兆网卡,需要同时跑6个rsync才能把带宽跑满,每个速度20MB左右,速度波动大。每分钟可以拷贝4.5GB左右。
但是,使用tar pv lz4,跑一个就可以了,而且速度波动小。每分钟可以拷贝6.8GB左右。
rsync使用例子
rsync安装:yum install -y rsync
# 推送[root@vm5 ~]# rsync -auvzP -e "ssh -p22" mssh.tar.gz root@192.168.176.11:/data/sending incremental file listmssh.tar.gz 1,977 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)sent 2,069 bytes received 35 bytes 4,208.00 bytes/sectotal size is 1,977 speedup is 0.94# 拉取[root@vm5 ~]# rm -f mssh.tar.gz[root@vm5 ~]# rsync -auvzP -e "ssh -p22" root@192.168.176.11:/data/mssh.tar.gz .receiving incremental file listmssh.tar.gz 1,977 100% 1.89MB/s 0:00:00 (xfr#1, to-chk=0/1)sent 43 bytes received 2,069 bytes 4,224.00 bytes/sectotal size is 1,977 speedup is 0.94参数auvzP解释:参数a是归档传输,保留文件属性,u是更新传输,源文件修改时间较新,则传输。v是显示详细过程,z是压缩传输,P是断点传输。
注意:rsync 传输文件夹时候,folder/ 带/则是传输目录下的文件,不带/是把文件夹也传输过去。
使用压缩传输
安装pv、lz4工具
注意:服务器两端都要安装。
pv在yum源里面没有,可以到pv官网找
# 去pv官网,搞到个rpm包链接,直接rpm命令安装[root@vm5 ~]# rpm -ivh http:///programs/rpms/pv-1.6.6-1.x86_64.rpm获取http:///programs/rpms/pv-1.6.6-1.x86_64.rpm警告:/var/tmp/rpm-tmp.mFbA6u: 头V3 DSA/SHA1 Signature, 密钥 ID 3fc56f51: NOKEY准备中... ################################# [100%]正在升级/安装... 1:pv-1.6.6-1 ################################# [100%] # lz4 可以直接yum安装 [root@vm5 ~]# yum install -y lz4使用
[root@vm5 ~]# time tar -c go |pv |lz4 -B4 |ssh -p22 -c aes128-ctr 192.168.176.11 "lz4 -d |tar -xC /data/"using blocks of size 64 KB18.1MiB 0:00:00 [49.5MiB/s] [ <=> ]real 0m0.376suser 0m0.080ssys 0m0.108s# 对比rsync[root@vm5 ~]# time rsync -auvzP -e "ssh -p22" go 192.168.176.11:/data/......sent 11,741,677 bytes received 10,451 bytes 7,834,752.00 bytes/sectotal size is 18,502,481 speedup is 1.57real 0m1.130suser 0m0.797ssys 0m0.160s[root@vm5 ~]#以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
CSV大文件的读取已经在前面讲述过了(PHP按行读取、处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题。1、如何快速获取CSV大文
如何将大文件快速拷贝/复制/分享到另一台电脑?相信这是很多朋友都想知道是如何做到的吧。因为我们平时可以因为各种原因,如电脑格盘重装、高清电影分享、更换电脑等),
LinuxVPS备份使用了split命令来分割文件,拷贝到windows下如何合并读取?在Linux下可以使用cat命令来完美合并通过split分割的文件,那在
前几天已经讲过了UDP协议下大文件传输的python实现代码,今天再实现TCP协议下大文件传输的python实现代码。TCP和UDP的实现过程还是比较不一样的。
本文实例讲述了python通过shutil实现快速文件复制的方法。分享给大家供大家参考。具体如下:python通过shutil实现快速文件拷贝,shutil使用