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 快很多,測試在局域網內,如果線上或不同網段,取決於出口帶寬
[[email protected] 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
[[email protected] 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 就可以了,為啥??折騰唄!
本文出自 “jurchens” 博客,請務必保留此出處http://6656395.blog.51cto.com/6646395/1962887
tar+pv+lz4傳輸大數據