日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 传输大文件大小,Linux大文件传输(转)

發(fā)布時(shí)間:2024/3/26 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 传输大文件大小,Linux大文件传输(转) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們經(jīng)常需要在機(jī)器之間傳輸文件。比如備份,復(fù)制數(shù)據(jù)等等。這個(gè)是很常見(jiàn),也是很簡(jiǎn)單的。用scp或者rsync就能很好的完成任務(wù)。但是如果文件很大,需要占用一些傳輸時(shí)間的時(shí)候,怎樣又快又好地完成任務(wù)就很重要了。在我的測(cè)試用例中,一個(gè)最佳的方案比最差的方案,性能提高了10倍。

復(fù)制文件

如果我們是復(fù)制一個(gè)未壓縮的文件。這里走如下步驟:

壓縮數(shù)據(jù)

發(fā)送到另外一臺(tái)機(jī)器上

數(shù)據(jù)解壓縮

校驗(yàn)正確性

這樣做會(huì)很有效率,數(shù)據(jù)壓縮后可以更有效的利用帶寬

使用ZIP+SCP

我們可以通過(guò)ZIP+SCP的組合實(shí)現(xiàn)這個(gè)功能。

gzip -c /home/yankay/data | ssh yankay01 "gunzip -c - > /home/yankay/data"

這條命令是將/home/yankay/data經(jīng)過(guò)GZIP壓縮,通過(guò)ssh傳輸?shù)統(tǒng)ankay01的機(jī)器上。

data文件的大小是1.1GB,經(jīng)過(guò)Zip壓縮后是183MB,執(zhí)行上面的命令需要45.6s。平均吞吐量為24.7MB/s

我們會(huì)發(fā)現(xiàn)Scp也有壓縮功能,所以上面的語(yǔ)句可以寫(xiě)成

scp -C -c blowfish /home/yankay/data yankay01:/home/yankay/data

這樣運(yùn)行效果是相同的,不通之處在于我使用了blowfish算法作為Scp的密匙算法,使用這個(gè)算法可以比默認(rèn)的情況快很多。單單對(duì)與scp,使用了blowfish 吞吐量是62MB/s,不使用只有46MB/s。

可是我執(zhí)行上面一條命令的時(shí)候,發(fā)現(xiàn)還是需要45s。平均吞吐量還為24MB/s。沒(méi)有絲毫的提升,可見(jiàn)瓶頸不在網(wǎng)絡(luò)上。

那瓶頸在哪里呢?

性能分析

我們先定義幾個(gè)變量

壓縮工具的壓縮比是 CompressRadio

壓縮工具的壓縮吞吐是CompressSpeed MB/s

網(wǎng)絡(luò)傳輸?shù)耐掏率?NetSpeed MB/s

由于使用了管道,管道的性能取決于管道中最慢的部分的性能,所以整體的性能是:

speed=min(NetSpeed/CompressRadio,CompressSpeed)

當(dāng)壓縮吞吐較網(wǎng)絡(luò)傳輸慢的時(shí)候,壓縮是瓶頸;但網(wǎng)絡(luò)較慢的時(shí)候,網(wǎng)絡(luò)傳輸/吞吐 是瓶頸。

根據(jù)現(xiàn)有的測(cè)試數(shù)據(jù)(純文本),可以得到表格:

壓縮比

吞吐量

千兆網(wǎng)卡(100MB/s)吞吐量

千兆網(wǎng)卡吞吐量,基于ssh(62MB/s)

百兆網(wǎng)卡(10MB/s)吞吐量

ZLIB

35.80%

9.6

9.6

9.6

9.6

LZO

54.40%

101.7

101.7

101.7

18.38235294

LIBLZF

54.60%

134.3

134.3

113.5531136

18.31501832

QUICKLZ

54.90%

183.4

182.1493625

112.9326047

18.21493625

FASTLZ

56.20%

134.4

134.4

110.3202847

17.79359431

SNAPPY

59.80%

189

167.2240803

103.6789298

16.72240803

NONE

100%

300

100

62

10

可以看出來(lái)。在千兆網(wǎng)卡下,使用QuickLZ作為壓縮算法,可以達(dá)到最高的性能。如果使用SSH作為數(shù)據(jù)傳輸通道,則遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到網(wǎng)卡可以達(dá)到的最佳性能。在百兆網(wǎng)卡的情況下,各個(gè)算法相近。對(duì)比下來(lái)QuickLZ是有優(yōu)勢(shì)的。

對(duì)于不同的數(shù)據(jù)和不同的機(jī)器,可以得出不同的最佳壓縮算法。但有一點(diǎn)是肯定的,盡量把瓶頸壓在網(wǎng)絡(luò)上。對(duì)于較慢的網(wǎng)絡(luò)環(huán)境,高壓縮比的算法會(huì)比較有優(yōu)勢(shì);相反對(duì)于較快的網(wǎng)絡(luò)環(huán)境,低壓縮比的算法會(huì)更好。

結(jié)論

根據(jù)上面的分析結(jié)果,我們不能是用SSH作為網(wǎng)絡(luò)傳輸通道,可以使用NC這個(gè)基本網(wǎng)絡(luò)工具,提高性能。同時(shí)使用qpress作為壓縮算法。

scp /usr/bin/qpress yankay01:/usr/bin/qpress

ssh yankay01 "nc -l 12345 | qpress -dio > /home/yankay/data" &

qpress -o /home/yankay/data |nc yankay01 12345

第一行是將gpress安裝到遠(yuǎn)程機(jī)器上,第二行在遠(yuǎn)程機(jī)器上使用nc監(jiān)聽(tīng)一個(gè)端口,第三行壓縮并傳送數(shù)據(jù)。

執(zhí)行上面的命令需要2.8s。平均吞吐量為402MB/s,比使用Gzip+Scp快了16倍!!

根據(jù)上文的公式,和自己的數(shù)據(jù),可以繪出上面的表格,就可以選擇出最適合的壓縮算法和傳輸方式。達(dá)到滿(mǎn)意的效果。如果是一個(gè)長(zhǎng)期運(yùn)行的腳本的話(huà),這么做是值得的。

linux大文件傳輸

Mysql復(fù)制,初始化服務(wù)器,備份/還原等大文件復(fù)制是很常見(jiàn)的任務(wù),他們完成的實(shí)際任務(wù)可以概括為: 1,(可選)壓縮文件 2,發(fā)送文件 3,解壓文件 4,驗(yàn)證文件一致性 下面介紹幾種方法: 1,最簡(jiǎn)單 ...

WCF大文件傳輸服務(wù)

由于項(xiàng)目需要,自己寫(xiě)一個(gè)基于WCF的大文件傳輸服務(wù)雛形.覺(jué)得有一定的參考價(jià)值,因此放在網(wǎng)上分享. 目前版本為v1.1特點(diǎn)如下: 1.文件傳輸端口為18650 2.上傳和下載文件 3.支持獲取文件傳輸狀 ...

轉(zhuǎn):wcf大文件傳輸解決之道(2)

此篇文章主要是基于http協(xié)議應(yīng)用于大文件傳輸中的應(yīng)用,現(xiàn)在我們先解析下wcf中編碼器的定義,編碼器實(shí)現(xiàn)了類(lèi)的編碼,并負(fù)責(zé)將Message內(nèi)存中消息轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)發(fā)送的字節(jié)流或者字節(jié)緩沖區(qū)(對(duì)于發(fā)送方而言 ...

轉(zhuǎn):wcf大文件傳輸解決之道(1)

首先聲明,文章思路源于MSDN中徐長(zhǎng)龍老師的課程整理,加上自己的一些心得體會(huì),先總結(jié)如下: 在應(yīng)對(duì)與大文件傳輸?shù)那闆r下,因?yàn)閣cf默認(rèn)采用的是緩存加載對(duì)象,也就是說(shuō)將文件包一次性接受至緩存中,然后生成 ...

Linux大文件分割splite

/********************************************************************** * Linux大文件分割splite * 說(shuō)明: * 編 ...

WCF大文件傳輸【轉(zhuǎn)】

http://www.cnblogs.com/happygx/archive/2013/10/29/3393973.html WCF大文件傳輸 WCF傳輸文件的時(shí)候可以設(shè)置每次文件的傳輸大小,如果是小 ...

利用Socket進(jìn)行大文件傳輸

分類(lèi): WINDOWS 最近接觸到利用socket進(jìn)行大文件傳輸?shù)募夹g(shù),有些心得,與大家分享.首先看看這個(gè)過(guò)程是怎么進(jìn)行的(如下圖):??? ? 所以,我們需要三個(gè)socket在窗體加載的時(shí)候初始化: ...

AetherUpload大文件傳輸

AetherUpload-Laravel是laravel框架下的一個(gè)大文件傳輸組件 github:https://github.com/peinhu/AetherUpload-Laravel 文件傳輸 ...

Linux命令-文件傳輸

Linux命令-文件傳輸 Linux lprm命令 Linux lprm命令用于將一個(gè)工作由打印機(jī)貯列中移除 尚未完成的打印機(jī)工作會(huì)被放在打印機(jī)貯列之中,這個(gè)命令可用來(lái)將常未送到打印機(jī)的工作取消.由于 ...

隨機(jī)推薦

SharePoint 2013 SP1發(fā)布了

好消息,SharePoint 2013 SP1終于發(fā)布了: SP1說(shuō)明:http://support.microsoft.com/kb/2880552 下載頁(yè)面:http://www.microsof ...

poj 1088 dp **

鏈接:點(diǎn)我 記憶化搜索很好寫(xiě) #include #include #include #include&lt ...

Eclipse搭建Android5.0應(yīng)用開(kāi)發(fā)環(huán)境 “ndk-build”:launchingfailed問(wèn)題解決

Eclipse搭建Android5.0應(yīng)用開(kāi)發(fā)環(huán)境 "ndk-build":launchingfailed問(wèn)題解決 詳細(xì)參考http://blog.csdn.net/loongem ...

64位Win10系統(tǒng)安裝Mysql5.7.11

最近在裝了64位Win10系統(tǒng)的mac book筆記本上用mysql-installer-community-5.7.11.0安裝Mysql5.7.11,在配置mysql server時(shí)老是卡住,報(bào)錯(cuò) ...

ES6 Module export與import復(fù)合使用

export與import復(fù)合使用 基本語(yǔ)法 export {...} from '文件'; 等價(jià)于 import {...} from "文件": export {...} 先加 ...

全局Ajax加載時(shí)呈現(xiàn)Loading

全局設(shè)置: 1 2 3 4 5 $(document).bind("ajaxSend",?function?() { ????????$("#loading_messag ...

如何在eclipse中對(duì)項(xiàng)目進(jìn)行重新編譯

有時(shí)由于eclipse異常關(guān)閉,當(dāng)我們重啟Eclipse,在啟動(dòng)項(xiàng)目時(shí),會(huì)報(bào)錯(cuò),說(shuō):ClassNotFound類(lèi)似的錯(cuò)誤,引起這種問(wèn)題的原因可能是由于,Eclipse異常關(guān)閉引起的. 解決:在一個(gè)項(xiàng)目 ...

BZOJ 4765 普通計(jì)算姬 (分塊 + BIT)

4765: 普通計(jì)算姬 Time Limit:?30 Sec??Memory Limit:?256 MBSubmit:?1547??Solved:?329[Submit][Status][Discus ...

CentOS 6.9 下安裝DB2

操作系統(tǒng):CentOS6.9_x64 DB2安裝文件: db2_v101_linuxx64_expc.tar.gz 安裝數(shù)據(jù)庫(kù) tar zxvf db2_v101_linuxx64_expc.tar. ...

總結(jié)

以上是生活随笔為你收集整理的linux 传输大文件大小,Linux大文件传输(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。