使用iperf進行設備吞吐量測試


工作中遇到一個問題,使用netcat 測試設備wifi吞吐量感覺非常吃力,遂使用iperf進行吞吐量測試。

前提

設備嵌入小linux系統,不可內部編譯的情況下,靜態編譯iperf可方便測試使用。

 

 

工具准備

iperf for linux 2.0.9 (自行靜態編譯),置於SD卡中方便使用

iperf for windows 2.0.9(這個網上下載就好了)

 

上行吞吐量測試

PC

iperf -s -u -i 1 -p [port]

※參數說明:-s 作為服務端  , -u 進行udp測試 , -p [port] 為端口號,-i  1 為每1秒打印一次結果

 

設備端

./iperf -u -c [PC_IP] -t 60 -i 1 -b 120M -p [port]

※參數說明:-c 作為客戶端 , -t 60 持續60秒 , -i 1 每秒打印一次信息 , -b 120M 要求設備以120Mbps 的速度輸入數據 , PC_IP即電腦端的IP地址

 

特殊說明:此處 要求設備上行速率必須 >= 設備實際上行速率,比如此處要求以120Mbps速率上傳,但設備上行最高速率只能到達88Mbps,實際不影響測試效果。(要求速率過大可能會導致設備卡死

由此可得出設備udp上行帶寬為85.5Mbits/sec

 

下行吞吐量測試

設備端:

./iperf -s -u -i 1 -p [port]

 

PC端:

iperf -u -c [PC_IP] -t 60 -i 1 -b 85M

※  此處輸入帶寬選擇應以設備上行速率為基准,例如我們測到設備的上行速率為85.5Mbit/sec ,則此處參數應為  -b 90M 或者 -b 85M,多測幾次,直到設備丟包率0%左右。

 

PC端效果圖

 

設備端效果圖

信息說明:

0 – 60秒里設備總共接受到429MB的數據,包丟失率為29%,設備下行帶寬為60MMbits/sec。這里只是展示效果,實際過程中應調節PC端的發包速度,直到丟包率為0%-3%。

 

※  特殊說明

一般情況下,設備的上下行速率應為一致(目前測wifi吞吐量確實如此)。在測試設備有線網絡吞吐量時,設備存在上下行吞吐量不等的情況。

包丟失率大:在測設備下行吞吐量時,當 PC端輸入數據 > 設備端接收數據 ,會出現丟包。相當於入大於出,設備無法及時處理數據包,從而導致丟包。

 

如有不對,希望大家能夠指出,謝謝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM