ARM Linux穩定性測試工具--網絡性能測試工具Iperf


  Iperf 是一個網絡性能測試工具。Iperf 可以測試最大 TCP 和 UDP 帶寬性能,具有多種參數和 UDP 特性,可以根據需要調整,可以報告帶寬、延遲抖動和數據包丟失。

  一、Linux端iperf

  1、下載

  下載最新版本源碼包,下載地址:http://downloads.es.net/pub/iperf/。本文以 iperf-3.0.3.tar.gz 版本為例。

  2、解壓

$ mkdir ~/iperf
$ cp iperf-3.0.3.tar.gz ~/iperf
$ cd ~/iperf
$ tar xzf iperf-3.0.3.tar.gz
$ cd iperf-3.0.3/

  命令中的“~”表示當前用戶目錄,比如在Linux主機上面工作的用戶是:selflag,那么命令中的“~”就代表路徑:/home/selflag/目錄

  3、配置

$ mkdir ../install
$ export PATH=$PATH:/usr/local/arm-2010q1/bin #交叉編譯工具路徑加入系統環境變量!
$ ./configure --host=arm-none-linux-gnueabi --prefix=/home/veryarm/iperf/install

  其中,

  • –host: 指定交叉編譯工具,一般為arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具體要和目標板用的交叉編譯工具對應。
  • –prefix: 指定安裝目錄,編譯后的文件會全部放在安裝目錄中。必須是絕對路徑!

  4、編譯安裝

$ make                  # 編譯,如果是多核CPU,如四核,使用make -j4可提高編譯速度
$ make install          # 安裝

  5、去除調試信息並壓縮

  使用交叉編譯工具 strip 去除鏡像的調試信息,在不影響使程序使用的情況下,程序大小一般可以減小50%左右。本程序我們僅用到其中2個文件,bin下的iperf3 和 lib下的libiperf.so.0.0.0。

$ cd ../install                                        # 進入安裝目錄
$ arm-none-linux-gnueabi-strip bin/iperf3              # 去除iperf3鏡像調試信息
$ arm-none-linux-gnueabi-strip lib/libiperf.so.0.0.0   # 去除共享庫的調試信息
$ rm lib/libiperf.a lib/libiperf.la                    # 刪除兩個不用的庫文件
$ tar jcf iperf-3.0.3.tar.bz2 bin lib                  # 壓縮bin和lib目錄

  6、復制到目標板

  將打包后的 iperf-3.0.3.tar.bz2 壓縮包通過U盤、FTP或者NFS等方式拷貝到目標板,並分別解壓到/bin和/sbin目錄。

$ cp iperf-3.0.3.tar.bz2 ~                  # 將復制壓縮包到目標板用戶目錄
$ tar jxf iperf-3.0.3.tar.bz2 bin -C /usr   # 解壓鏡像到/usr/bin
$ tar jxf iperf-3.0.3.tar.bz2 lib -C /usr   # 解壓庫文件到/usr/lib

  7、使用 

  iperf有iperf2版本(命令iperf)和iperf3版本(命令iperf3),現在很多Linux系統和目標板系統默認有iperf2,而這兩個版本又不能混着用,也就是說,如果服務器運行iperf2,而目標板上運行 iperf3 是無法測試的,會提示“connect failed: Connection refused”錯誤。有鑒於此,本文重點以新版的 iperf3 為例進行測試。

  (1)電腦安裝iperf

  復制第1步下載的源碼到電腦上,在Ubuntu(或其他機器)上,使用以下命令安裝 iperf3 到電腦上:

$ cd iperf-3.0.3/
$ ./configure
$ make
$ sudo make install

  iperf3程序會自動安裝到/usr/local/bin目錄下,其共享庫則安裝到/usr/local/lib/目錄下。

  如果運行 iperf 命令時提示“iperf3: error while loading shared libraries: libiperf.so.0: cannot open shared object file: No such file or directory”錯誤,制作一個軟連接可解決,命令如下:

sudo ln -s /usr/local/lib/libiperf.so.0.0.0 /usr/lib/iperf.so.0

  (2)啟動服務器iperf

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

$ iperf3 -s -i 1

  參數說明:

  • -s:以服務器方式啟動
  • -i:以秒為單位顯示報告間隔

  (3)啟動客戶端

  在目標板上,以客戶端方式連接到服務端,測試10秒鍾。

$ iperf3 -c 192.168.1.100 -i 1 -w 448k -t 10

  參數說明:

  • -c:以client模式啟動,隨后跟着服務器的IP地址
  • -i:以秒為單位顯示報告間隔
  • -w:指定TCP窗口大小,默認是8KB
  • -t:測試時間,默認10秒

  二、Windows端iperf

  1、下載

  官方下載鏈接:https://iperf.fr/iperf-download.php

  下載對應自己系統的文件:

  如果你的是 64位系統,請下載 iperf-*-win64.zip

  如果你的是 32位系統,請下載 iperf-*-win32.zip

  2、安裝

  將下載好的 iPerf 壓縮包解壓,然后有兩種安裝方法,一種是你想要臨時使用,一種是長期使用

  長期使用簡單粗暴的方法

  將 iperf3.exe 和 cygwin1.dll 文件復制到 C:\Windows 路徑下即可,然后 Win鍵 + R鍵,輸入 cmd 按回車,將會彈出一個窗口,輸入 iperf3 --version 按回車,校驗是否配置成功,出現如圖提示內容,即安裝成功

   

   3、啟用服務器

  按Win鍵 + R鍵,輸入 cmd 按回車,打開終端。
  然后輸入命令:iperf3 -s -B 0.0.0.0 -p 520 按回車,然后最小化該窗口,請注意不要關閉本窗口!!!
  上述命令參數解釋:
  -s 表示以服務器方式啟動 iperf
  -B 表示監聽指定 IP地址,0.0.0.0 表示監聽 本地IP 和 局域網(公網)IP
  -p 表示監聽指定 端口,上述我們指定監聽的端口號是 520,該參數可有可無,沒有該參數時,默認堅挺的端口號是 5201

   

   4、啟動客戶端

  按Win鍵 + R鍵,輸入 cmd 按回車,打開終端。
  然后輸入命令:iperf3 -c 192.168.200.221 -b 1g -t 10 -i 1 -u -p 520 按回車
  上述命令參數解釋:
  -c 表示以客戶端方式啟動 iperf,使用 iPerf 服務器IP 192.168.3.83 進行測試
  -b 表示估計帶寬,就是最高能跑多少,1g 表示估計能跑 1Gbps
  -t 表示持續測試時間,10 表示測試 10s
  -i 表示多少秒輸出一次測試結果,1 表示 1s 刷新一次`
  -u 表示用 udp 連接來測速,默認是 tcp 連接測試,因為 tcp 要進行確認,所以不如 udp 測試的准確
  -p 表示測試服務器端口,520 表示測速服務器的端口是 520

  


免責聲明!

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



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