前兩天在說基于SMB的NAS文件分享功能速度根本就是弱到渣,然后給大家一個(gè)截圖:
這時(shí)候就有人出來硬剛,說這是在萬兆網(wǎng)絡(luò)中跑出來的速度。
恰好有時(shí)間,錄一段視頻,咱們一刀不剪的看一下iscsi的性能表現(xiàn):
完整的視頻有19分鐘,放在文末,有興趣的粉絲們可以去看一下。
這是iN給大家前期講Windows存儲(chǔ)的系統(tǒng)桌面,只安裝了一套Windows 2025,除此之外并沒有安裝其他任何軟件。
網(wǎng)絡(luò)也只利用機(jī)器主板所附帶的intel 82574L網(wǎng)卡,這是一個(gè)intel 08年發(fā)布的網(wǎng)卡,到現(xiàn)在已經(jīng)發(fā)布了16年了,再有兩年就是好漢一條了。
注意一下加亮的部分是1000/1000Mbps。
在這臺(tái)機(jī)器上的D盤iso文件夾內(nèi)包含了一些常用的系統(tǒng)安裝鏡像包,我們選擇兩個(gè)用來做大文件傳輸測(cè)試:
先做一個(gè)SMB傳輸,目的地是一臺(tái)Windows開啟的SMB共享文件夾
直接粘貼:
大文件上傳,在磁盤上的讀取是順序讀取,最大限度的利用了MTU數(shù)據(jù)包的大小,在一開始的表現(xiàn)就是110MB/秒。這個(gè)速度是符合千兆網(wǎng)絡(luò)的傳輸預(yù)期的。
但在傳輸了十幾秒之后由于大量SMB數(shù)據(jù)包給遠(yuǎn)端帶來的額外系統(tǒng)開銷,開始讓傳輸速率有所降低。
這并不是網(wǎng)絡(luò)性能的問題,而是在服務(wù)端需要調(diào)度和重組SMB數(shù)據(jù)包帶來的后果,這時(shí)候我們就可以認(rèn)為千兆速率是跑不滿了。
當(dāng)然了數(shù)據(jù)傳輸和SMB數(shù)據(jù)包的重組的處理能力是不平衡的,在傳輸一段時(shí)間之后傳輸速率會(huì)有所上升,恢復(fù)到千兆網(wǎng)絡(luò)應(yīng)有的水平。
但是,我們?cè)趥鬏敶笪募臅r(shí)候這種波動(dòng)是會(huì)反復(fù)發(fā)生的,而且每次都會(huì)更加加劇網(wǎng)絡(luò)速度的降低程度。
因此,即便是很多人說的大文件傳輸,在SMB上最終也會(huì)成為這樣的效果:
之所以會(huì)出現(xiàn)這樣的現(xiàn)象,并不是網(wǎng)絡(luò)或者系統(tǒng)的效能問題,而是SMB協(xié)議本身的設(shè)計(jì)就不是用來進(jìn)行大量數(shù)據(jù)傳輸?shù)摹MB(Server Message Block,服務(wù)器消息塊)的設(shè)計(jì)初衷就像名字一樣主要功能是使網(wǎng)絡(luò)上的機(jī)器能夠共享計(jì)算機(jī)文件、打印機(jī)、串行端口和通訊等資源并且提供經(jīng)認(rèn)證的進(jìn)程間通信機(jī)能。“進(jìn)程間通信”才是SMB最重要的用途,傳文件這件事雖然大家用的更廣,有更多的群眾基礎(chǔ),但并不是SMB的專有用途。就好比我們用家用小轎車運(yùn)大米一樣,能不能運(yùn)呢?必然是能的;但如果真正的糧食加工廠運(yùn)大米,是用卡車的,而不會(huì)使用家用小轎車來運(yùn)。
在SMB中傳送的文件被讀取、解包,封包、傳送、解包、再轉(zhuǎn)儲(chǔ)為磁盤文件都給“傳文件”這件事造成了極大的額外負(fù)擔(dān)。
那么咱們?cè)倏蠢胕scsi進(jìn)行文件傳輸:
E盤是一個(gè)通過同樣的網(wǎng)絡(luò)掛載在系統(tǒng)上的iscsi硬盤。在磁盤屬性中被windows系統(tǒng)直接視為一塊硬盤:
還是剛才的兩個(gè)文件:
向E盤拷貝的時(shí)候就是1GB/秒到速度,不過這個(gè)速度并不依賴于網(wǎng)絡(luò)的帶寬,而是依賴于服務(wù)器為這塊iscsc盤提供的系統(tǒng)級(jí)緩存。
當(dāng)系統(tǒng)分配的緩存滿了,速度會(huì)降低到網(wǎng)絡(luò)線路的速度:
這時(shí)候才開始真正的網(wǎng)絡(luò)傳輸,只不過,你會(huì)發(fā)現(xiàn),在短暫的傳輸速度下降之后,傳輸速度還會(huì)立刻攀升起來
直到遠(yuǎn)端的服務(wù)器寫入緩存寫滿,這時(shí)候基本的傳輸過程也就結(jié)束了。
我們對(duì)比一下傳輸?shù)臅r(shí)間點(diǎn):
通過SMB傳輸文件從視頻的43秒開始,到4分25秒結(jié)束,總計(jì)耗時(shí)3分42秒,
通過iscsi傳輸同樣的文件,從4分57秒開始,到6分14秒結(jié)束,總計(jì)耗時(shí)1分17秒。
在這次的大文件的傳輸中iscsi所需要的時(shí)間僅僅是SMB的34%
一般的情況下,傳輸大文件實(shí)際上在生產(chǎn)力環(huán)境中用到的還不是很多,我們更多的是處理很多小文件。
這個(gè)用于測(cè)試的文件夾里面有大約5萬個(gè)小文件,我們分別復(fù)制到SMB共享文件夾和iscsi磁盤中做一個(gè)小文件的對(duì)比測(cè)試:
這時(shí)候你會(huì)發(fā)現(xiàn),在傳輸小文件的任務(wù)中,SMB是KB級(jí)別的傳輸速度,而在iscsi下小文件的傳輸依然維持到了MB級(jí)別。
這種狀態(tài)下,對(duì)于小文件的頻繁打開和關(guān)閉這樣的句柄操作讓系統(tǒng)根本跑不滿網(wǎng)絡(luò)帶寬,對(duì)比的就是SMB和iscsi這兩種方式對(duì)小文件操作的效率。
由于iscsi是基于對(duì)磁盤塊的操作,因此并不需要像SMB頻繁的封包和解包,額外的數(shù)據(jù)包處理工作就全部省略掉了,因此,我們可以看到在復(fù)制文件的時(shí)候iscsi的速度要遠(yuǎn)高于SMB。
當(dāng)iscsi上的小文件復(fù)制任務(wù)完成的時(shí)候,SMB其實(shí)才做了10%。
對(duì)比對(duì)文件的操作,例如刪除:
刪除命令也是SMB通過列目錄再逐個(gè)發(fā)送刪除指令完成的,因此我們可看到在刪除的過程中SMB以每秒300多個(gè)文件的速度進(jìn)行刪除。
到了iscsi呢?已經(jīng)不需要看到數(shù)了:
很多小文件的傳輸速度實(shí)際上才是生產(chǎn)力的環(huán)境所需要的,并不是時(shí)時(shí)刻刻我們需要搬運(yùn)大文件。iscsi所帶來的低延遲特性,則是可以秒殺SMB的繁瑣操作的。
有很多小工作室,往往會(huì)使用到一些網(wǎng)絡(luò)共享文件夾,讓大家在上面剪輯視頻,或者共享一些素材資源。這種事情放在SMB共享的環(huán)境中,iN就只能說SMB在降低大家的“生產(chǎn)力”了。
對(duì)于大的視頻剪輯操作,我們注重的是數(shù)據(jù)的傳輸性能和IOPS性能。
對(duì)于這方面的性能測(cè)試,iN選擇了Anvil's Storage Benchmark測(cè)試工具,我們跑一跑測(cè)試看一下結(jié)果:
首先是SMB的測(cè)試,你會(huì)發(fā)現(xiàn)無論測(cè)試軟件怎么跑都是跑不滿網(wǎng)絡(luò)帶寬的。
而在iscsi的測(cè)試中,我們可以看到千兆網(wǎng)絡(luò)終于可以發(fā)揮到自己應(yīng)有的水平:
最后的測(cè)試數(shù)據(jù)大家可以參考一下:
SMB的文件共享:
讀取得分211.84、寫入得分137.17 總分 349.02
iscsi的性能測(cè)試:
讀取得分492.99、寫入得分442.25 總分935.24
剛剛咱們還提到了IOPS,IOPS是一個(gè)用于電腦存儲(chǔ)設(shè)備性能測(cè)試的量測(cè)方式,可以視為是每秒的讀寫次數(shù)。它所反映的就是高強(qiáng)度工作的時(shí)候存儲(chǔ)系統(tǒng)能夠快速響應(yīng)的基本能力。大家在測(cè)試報(bào)表中自行查閱吧,你會(huì)發(fā)現(xiàn)這兩種模式的IOPS性能根本就不是一個(gè)數(shù)量級(jí)的。
完整視頻:
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.