什麼是Iperf?
Iperf 是一個網路效能測試工具。Iperf可以測試TCP和UDP頻寬品質。Iperf可以測量最大TCP頻寬,具有多種參數和UDP特性。Iperf可以報告頻寬,延遲抖動和資料包丟失。
編譯與安裝
Iperf2.0.2目前僅提供源碼包的下載。當你下載到Iperf源碼包後,在類unix系統上,需要先解壓縮源碼包,使用解壓縮命令gzip或tar。解壓後會產生新檔案夾“Iperf-2.0.2”。Iperf2.0.2在以下作業系統中可以很好的被編譯:Linux, SGI IRIX, HP-UX, Solaris, AIX, 和Cray UNICOS。使用“make”命令編譯Iperf源碼。完整的編譯命令如下:
tar xvf iperf-2.0.2.tar.gz
cd iperf-2.0.2
./configure
make
編譯成功後,使用以下命令安裝Iperf:
make install
重新編譯Iperf,最簡單的方法是使用以下命令:
make distclean
./configure
make
功能介紹
TCP
測量網路頻寬
報告MSS/MTU值的大小和觀測值
支援TCP視窗值通過通訊端緩衝
當P線程或Win32線程可用時,支援多線程。用戶端與服務端支援同時多重串連
UDP
用戶端可以建立指定頻寬的UDP流
測量丟包
測量延遲
支援多播
當P線程可用時,支援多線程。用戶端與服務端支援同時多重串連(不支援 Windows)
在適當的地方,選項中可以使用K(kilo-)和M(mega-)。例如131072位元組可以用128K代替。
可以指定啟動並執行總時間,甚至可以設定傳輸的資料總量。
在報告中,為資料選用最合適的單位。
伺服器支援多重串連,而不是等待一個單線程測試。
在指定時間間隔重複顯示網路頻寬,波動和丟包情況。
伺服器端可作為背景程式運行。
伺服器端可作為Windows 服務運行。
使用典型資料流來測試連結層壓縮對於可用頻寬的影響.
命令使用:
for UDP Sending:
iperf -c [IP-Addr] -i 1 -p [port] -u -t 10000 -b 2M
====================================================
for UDP Receiving:
iperf -s -i 1 -u -p [port]
========================================
iperf -c 10.0.5.5 -i 1 -p 6015 -u -t 10000 -b 128k
iperf -s -i 1 -u -p 6005
iperf -c 10.18.61.66 -i 1 -p 6006 -u -t 99999 -b 128k
iperf -s -i 1 -u -p 6006 -t 999999
運行後的結果在Clinet端:
C:\>iperf -c 10.0.5.235 -i 1 -p 6005 -u -t 60 -b 128k
------------------------------------------------------------
Client connecting to 10.0.5.235, UDP port 6005
Sending 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[ ID] Interval Transfer Bandwidth
[1868] 0.0-60.2 sec 940 KBytes 128 Kbits/sec
[1868] Server Report:
[1868] 0.0-60.8 sec 940 KBytes 127 Kbits/sec 13.838 ms 0/ 655 (0%)
[1868] Sent 655 datagrams
交叉編譯方法
Ubuntu10.04非常的智能,能夠上網的使用者你只要直接的使用
sudo apt-get install iperf
這個命令就可以成功的安裝好iperf
如果你想通過下載源碼來安裝也可以,就是通過最常用的辦法
tar xvf iperf-2.0.2.tar.gz
cd iperf-2.0.2
./configure
make
編譯成功後,使用以下命令安裝Iperf:
make install
這樣也可以安裝成功
接下來要介紹我們的重點就是如何交叉編譯我們的iperf源碼:
為了方便起見我們寫了一個.sh的設定檔
具體的內容如下:
vim buildarm.sh
#!/bin/sh
echo “ac_cv_func_malloc_0_nonnull=yes”>arm-linux.cache
./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc-4.3.2 –cache-file=arm-linux.cache
make
(要把交叉編譯器的環境變數進行配置哦)
設定檔寫完以後還要改變其許可權,讓其能夠執行
chmod +x buildarm.sh
然後就可以執行命令:
./buildarm.sh
成功後在你的iperf目錄的src檔案夾下會產生一個iperf檔案,把這個二進位可執行檔放置到你的板子的檔案系統上就可以使用了,現在馬上來測試一下吧