linux下如何實(shí)現(xiàn)快速拷貝大文件
拷貝數(shù)據(jù)
遠(yuǎn)程拷貝數(shù)據(jù)的時候,我們一般使用rsync命令,但是如果拷貝大量的小文件,會導(dǎo)致rsync的傳輸速度慢。使用tar pv lz4打包壓縮傳輸,可以解決這問題,使用這個方法,等同于使用scp、rsync傳輸大文件。
實(shí)測,使用rsync傳輸1200G,單個文件大小為幾十KB~2GB,千兆網(wǎng)卡,需要同時跑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 list mssh.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/sec total 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 list mssh.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/sec total size is 1,977 speedup is 0.94
參數(shù)auvzP解釋:參數(shù)a是歸檔傳輸,保留文件屬性,u是更新傳輸,源文件修改時間較新,則傳輸。v是顯示詳細(xì)過程,z是壓縮傳輸,P是斷點(diǎn)傳輸。
注意:rsync 傳輸文件夾時候,folder/ 帶/則是傳輸目錄下的文件,不帶/是把文件夾也傳輸過去。
使用壓縮傳輸
安裝pv、lz4工具
注意:服務(wù)器兩端都要安裝。
pv在yum源里面沒有,可以到pv官網(wǎng)找
# 去pv官網(wǎng),搞到個rpm包鏈接,直接rpm命令安裝 [root@vm5 ~]# rpm -ivh http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm 獲取http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm 警告:/var/tmp/rpm-tmp.mFbA6u: 頭V3 DSA/SHA1 Signature, 密鑰 ID 3fc56f51: NOKEY 準(zhǔn)備中... ################################# [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 KB 18.1MiB 0:00:00 [49.5MiB/s] [ <=> ] real 0m0.376s user 0m0.080s sys 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/sec total size is 18,502,481 speedup is 1.57 real 0m1.130s user 0m0.797s sys 0m0.160s [root@vm5 ~]#
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下Nginx安裝的方法(pcre和openssl)
本篇文章主要介紹了Linux下Nginx安裝的方法(pcre和openssl),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02如何使用win10內(nèi)置的linux系統(tǒng)啟動spring-boot項目
這篇文章主要介紹了如何使用​win10內(nèi)置的linux系統(tǒng)啟動spring-boot項目,需要的朋友可以參考下2020-07-07解決centos7安裝nginx后無conf.d目錄或conf.d目錄下無default.conf文件問題
這篇文章主要介紹了解決centos7安裝nginx后無conf.d目錄或conf.d目錄下無default.conf文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Linux 使用init命令實(shí)現(xiàn)關(guān)機(jī),重啟,切換模式
這篇文章主要介紹了Linux 使用init命令實(shí)現(xiàn)關(guān)機(jī),重啟,切換模式的相關(guān)資料,需要的朋友可以參考下2017-03-03