iperf3網絡測試工具

1、簡介:服務器

  iperf3是一個網絡速度測試工具,支持IPv4與IPv6,支持TCP、UDP、SCTP傳輸協議,可在Windows、Mac OS X、Linux、FreeBSD等各類平臺使用,是一個簡單又實用的小工具。因我已配置好yum源,所以執行yum install iperf3便可安裝。安裝好後,我已看一下iperf的使用參數,如圖:網絡

2、實驗環境:tcp

在實際測試中個人服務器有萬兆網卡,IP以下所示:工具

Host177:100.192.168.177學習

Host178:100.192.168.178測試

Host179:100.192.168.179spa

Host186:100.192.168.1863d

3、測試過程blog

  在此次測試中主要進行tcp與udp的對比測試,在測試前先說明一下在iperf3中有幾個參數在tcp環境與udp環境中的區別,也就是在測試中須要對此參數要給定內容,避免iperf工具使用其默認的值,主要幾項以下:圖片

如圖,參數若不指定-b帶寬值會形成極大的區別,在測試環境中發現 -l 默認就使用128數值。

接下來首先以Host179爲服務器端(服務器端啓動參數是沒有區別的):

以Host178爲客戶端進行tcp的測試(暫時不指定-l參數即緩衝區大小):

 

因測試環境有萬兆網卡,因而我在這裏指定了帶寬-b 爲萬兆(後面還會進行千兆測試,會出現一個較爲奇怪的現象),傳輸內容大小爲100G。

再進行udp測試(暫時不指定-l參數即緩衝區大小):

進行udp測試時候,僅是多了一個參數-u便可。

下面進行千兆的測試,以下:

 

將-b後面跟着的值調小,這裏udp的測試一樣進行此操做,這裏就不列出圖片了,接下來咱們關注一下測試結果。

4、測試結果

         經測試後,可觀察客戶端下方的打印結果,以下:

tcp下以萬兆帶寬測試結果:

ucp下以萬兆帶寬測試結果:

 

tcp下以千兆帶寬測試結果:

 

ucp下以千兆帶寬測試結果:

 

  經過觀察此類結果能夠清楚的發如今設定 –b 1000M (千兆)的時候,tcp和udp的傳輸100G文件所需時間相差不是不少,但當設定–b 10000M (萬兆)的時候,二者相差的仍是比較明顯的,這也是前面提出的「奇怪的現象」。給人的感受就是udp沒有發揮萬兆網卡的所有速率,在圖中也有顯示丟包率爲51%。

  經過網上的資料查詢得知,udp丟包率高可能爲緩衝區buffer有限制致使的,所以我因而進行了以下測試:

將udp緩衝區buffer調高,執行下面命令:

CentOS 7中默認buffer大小爲212992,我在後面增長了2個0,約爲放大100倍,這兩條命令在服務器端和客戶端都執行,而後下面在執行udp測試命令:

 

得出結果爲:

 

能夠看出丟包率獲得了明顯的改善,但識別出的帶寬仍爲6500M左右,離萬兆還有必定的距離。

5、結論

    通過上網查詢學習得知,在帶寬測試中一般採起udp模式,由於能測出極限帶寬、時延抖動、丟包率。在進行測試時,首先以鏈路理論帶寬(萬兆)做爲數據發送速率進行測試,這樣能夠大致得出實際帶寬的極限值,在測試環境中的帶寬爲6500左右,這也一樣解釋了上文提到的奇怪現象,而且在作實驗中必定要注意測試命令的默認參數值,好比在本次測試中的tcp與udp測試的-b和-l兩個參數,在使用默認參數的時候仍是有着巨大的區別。

相關文章
相關標籤/搜索