http://blog.chinaaet.com/telantan/p/30901
https://boke.wsfnk.com/archives/288.html
https://www.ibm.com/developerworks/cn/linux/l-netperf/index.html
iperf 和 netperf 都可以用來進行網絡測試
iperf 是一個 TCP/IP 和 UDP/IP 的性能測量工具,能夠提供網絡吞吐率信息,以及震動、丟包率、最大段和最大傳輸單元大小等統計信息;從而能夠幫助我們測試網絡性能,定位網絡瓶頸。
一、安裝iperf
iperf是一個常用的網絡性能測試工具,本文主要介紹iperf的移植的過程,最終簡單利用iperf測試Zedboard上的千兆以太網性能。
在官網下載源碼:https://github.com/esnet/iperf
這里使用的是最新版本Iperf3,和舊的Iperf有些區別。
Host宿主端安裝
解壓到相應文件夾,進入目錄執行./configure
./configure
這里需要使用g++編譯器,因此執行which g++看看是否可以找到g++
重新執行安裝操作,
./configure make sudo make install
sudo ldconfig
確認iperf是否正常安裝上
Target客戶端移植
make clean
//注意這里編譯器只需要前綴,而不是arm-linux-gnueabi-g++
./configure --prefix=/home/pp/11/iperf/iperf-master/rootfs --host=arm-linux-gnueabi
make
最后在輸出文件下查看:
之后即可移植測試。
二、測試iperf
使用方式:客戶端模擬像服務器端發送數據,服務器端接收數據,最終生成接收情況、丟包率等.
iperf參數介紹:
#常用公共參數 -i 2 #表示每2秒顯示一次報告 -w 80k #對於TCP方式,此設置為TCP窗口大小。對於UDP方式,此設置為接受UDP數據包的緩沖區大小,限制可以接受數據包的最大值 -B 192.168.122.1 #綁定到主機的多個地址中的一個。對於客戶端來說,這個參數設置了出棧接口。對於服務器端來說,這個參數設置入棧接口。這個參數只用於具有多網絡接口的主機。 #在Iperf的UDP模式下,此參數用於綁 定和加入一個多播組。使用范圍在224.0.0.0至239.255.255.255的多播地址 #常用客戶端參數 -b 100m #用於udp測試時,設置測試發送的帶寬,單位:bit/秒,不設置時默認為:1Mbit/秒 -c #指定服務端ip地址 -d #同時測試上行和下行 -t 10 #設置傳輸時間,為10秒 -P 5 #指定發起5個線程
UDP模式測試(此模式會顯示數據包丟失情況)
服務端 iperf -u -s # -u表示以udp模式運行,-s表示作為服務端 客戶端 iperf -u -c 192.168.122.1 -b 100M -t 60 -i 2 #解釋:在udp模式下,以100Mbps為數據發送速率,客戶端到服務器192.168.1.1上傳帶寬測試,測試時間為60秒 iperf -u -c 192.168.122.1 5M -P 30 -t 6 #客戶端同時向服務器端發起30個連接線程,以5Mbps為數據發送速率 iperf -u -c 192.168.122.1 -b 100M -d -t 60 #以100M為數據發送速率,進行上下行帶寬測試
更正:iperf3 服務器端不再有-u選項
服務器端:
iperf3 -p 8000 -s -i 1
參數說明: -p : 端口號 -s : 標示服務端 -u : 標示udp協議 -i : 檢測的時間間隔(單位:秒)
在客戶端
客戶端:
iperf3 -u -c 113.54.158.252 -p 8000 -i 1 -b 10M
參數說明: -c : 服務端的ip地址 -p : 端口號 -u : 標示udp協議 -b : 每一次發送的數據大小 -t : 總的發送時間(單位:秒) -i : 發送數據的時間間隔(單位:秒) -P : 表示線程個數,不指定則默認單線程
從左至右依次為: 線程id 時間 接收數據大小 每秒大小 延時 丟包/總包 丟包率
TCP模式下網絡測試:
服務器端: iperf3 -p 8000 -s -i 1 參數說明: -p : 端口號 -s : 標示服務端 -u : 標示udp協議 -i : 檢測的時間間隔(單位:秒)
TCP客戶端
iperf3 -c 113.54.158.252 -p 8000 -i 1 -b 10M
客戶端
iperf -c 192.168.122.1 -t 60 #在tcp模式下,客戶端到服務器192.168.1.1上傳帶寬測試,測試時間為60秒。 iperf -c 192.168.122.1 -P 30 -t 60 #客戶端同時向服務器端發起30個連接線程。 iperf -c 192.168.122.1 -d -t 60 -i 2 #進行上下行帶寬測試。