tar + pv + lz4 传输大数据

今天要备份个比较大的库,大概200G 左右吧,听说tar + pv + lz4 传输大数据的速度,比传统的scp 快很多,今天测试了一下:

过程如下:

tar+pv+lz4 大文件传输,速度到底比scp 快多少呢,实际验证了,才知道,经过测试大概两倍吧

1.install

这里需要提前编译安装两个软件,这两个软件可以直接google 搜索下载,下面我给的链接可以直接wget 下载

1.PV(pv-1.1.4.tar.gz)包可以在线下载或网盘取

wget http://pkgs.fedoraproject.org/repo/pkgs/pv/pv-1.1.4.tar.gz/8d0eda2182640919daaf6186cd816a13/pv-1.1.4.tar.gz

解压:tar -xf pv-1.1.4.tar.gz

cd  pv-1.1.4

./configure && make && make install

2.lz4 (lz4-r108.tar.gz) 包可以在线下载或网盘取

wget https://src.fedoraproject.org/repo/pkgs/lz4/lz4-r108.tar.gz/5c621dd18f27810bba3629cdb326e852/lz4-r108.tar.gz

解压: tar xf lz4-r108.tar.gz

cd lz4-r108

make && make install  ***注意:这里不需要configure

特别注意: lz4 需要在数据传输的两台服务器都要安装,理由很简单,传输的过程就是:  打包--压缩--解压 的过程, 两端都要lz4 解压缩,所以两端都需要安装

3.命令: tar -c  tt.tar.gz|pv|lz4 -B4|ssh -c arcfour128 -o "MACs [email protected]" 192.168.50.244 "lz4 -d |tar -xC /data/bak"     ****提前做好免秘钥登录

说明:

tt.tar.gz  --代表要传输的文件

pv        --显示传输速度和进度

ssh : 可以-p 指定端口,默认可不写

arcfour128  --加密算法

192.168.50.244  --远程主机的ip

/data/bak    --远程主机存放目录

*****和scp 的速度对比:用时大概2倍的关系,有人说6倍,可能吧,测试可能有偏差,仅供参考,只是想说明一个问题,tar+ lz4 确实比scp 快很多,测试在局域网内,如果线上或不同网段,取决于出口带宽

[root@centos-6 websit_116]# time scp tt.tar.gz 192.168.50.244:/data/bak

tt.tar.gz                                                            100%  228MB  45.7MB/s  00:05

real 0m5.578s

user 0m1.699s

sys 0m0.542s

[root@centos-6 websit_116]# time tar -c  tt.tar.gz|pv|lz4 -B4|ssh -c arcfour128 -o "MACs [email protected]" 192.168.50.244 "lz4 -d |tar -xC /data/bak"

228MB 0:00:02 [79.4MB/s] [    <=>                                                                  ]

real 0m2.899s

user 0m0.224s

sys 0m1.923s

综述:有兴趣的可以尝试下, 如果文件很小,就没必要了,用你的scp 或rsync 就可以了,为啥??折腾呗!

你可能感兴趣的:(tar + pv + lz4 传输大数据)