嵌入式linux裝置網口頻寬-測試方法

安全劍客發表於2019-11-24
iperf是一個基於Client/Server的網路效能測試工具,可以測試TCP、UDP和SCTP頻寬質量,能夠提供網路吞吐率資訊,以及震動、丟包率,最大段和最大傳輸單元大小等統計資訊,幫助我們測試網路效能,定位網路瓶頸。其中抖動和丟包率適應於UDP測試,二頻寬測試適應於TCP和UDP。
一、介紹

iperf是一個基於Client/Server的網路效能測試工具,可以測試TCP、UDP和SCTP頻寬質量,能夠提供網路吞吐率資訊,以及震動、丟包率,最大段和最大傳輸單元大小等統計資訊,幫助我們測試網路效能,定位網路瓶頸。其中抖動和丟包率適應於UDP測試,二頻寬測試適應於TCP和UDP。
嵌入式linux裝置網口頻寬-測試方法嵌入式linux裝置網口頻寬-測試方法
Iperf可以說是嵌入式裝置裡網路介面測試的一個利器。這裡的網路介面不但可以是一般的乙太網,也可以是無線網路,還可以是4G模組;

官方提供的公網伺服器:iperf-servers。不過測試過速度有點捉雞,還是自己建個測試爽。

二、交叉編譯
Step1. 下載

下載地址:http://downloads.es.net/pub/iperf/。本文以 iperf-3.0.1.tar.gz 版本為例。

Step2. 配置./configure --host=arm- linux --prefix=$PWD/xxx_install

其中,

--host: 指定交叉編譯工具,一般為arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具體要和目標板用的交叉編譯工具對應。--prefix: 指定安裝目錄,編譯後的檔案會全部放在安裝目錄中。

Step3. 編譯安裝make make install

完成後,檔案會自動安裝到上面指定的 install 目錄。

Step4. 去除除錯資訊並壓縮

在嵌入式裝置上的資源畢竟寸土寸金的;使用交叉編譯工具 strip 去除映象的除錯資訊,在不影響使程式使用的情況下,程式大小一般可以減小50%左右。本程式我們僅用到其中2個檔案,bin下的iperf3 和 lib下的libiperf.so.0.0.0。

$cd xxx_install # 進入安裝目錄 $ arm-linux-gnueabi-strip bin/iperf3 # 去除iperf3映象除錯資訊 $ arm-linux-gnueabi-strip lib/libiperf.so.0.0.0 # 去除共享庫的除錯資訊 $ rm lib/libiperf.a lib/libiperf.la # 刪除兩個不用的庫檔案 $ tar cvf iperf-exec-3.0.1.tar.gz bin lib # 壓縮bin和lib目錄

三、頻寬測試Step1. 啟動伺服器iperf

在Ubuntu上,以服務端方式啟動:

$iperf3 -s -i 1
引數說明:

-s:以伺服器方式啟動-i:以秒為單位顯示報告間隔-w:指定TCP視窗大小,預設是8KB Step2. 啟動客戶端$iperf3 -c 192.168.1.100(也可為公網IP) -i 1 -w 448k -t 10
引數說明:

-c:以client模式啟動,隨後跟著伺服器的IP地址-t:測試時間,預設10秒LOG的記錄 伺服器: iperf3 -s >> iperfs.log 2>&1 & 客戶端: iperf3 -c 192.168.1.100 -i 1 -w 448k -t 10 >> iperfc.log 2>&1 &四、iperf 引數
官方使用文件:https://iperf.fr/iperf-doc.php

也可在安裝成後,使用iperf3 -h 進行檢視。

原文地址: https://www.linuxprobe.com/method-bandwidth-embedded.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2665487/,如需轉載,請註明出處,否則將追究法律責任。

相關文章