iperf3介紹
iperf3是基於Client/Server的網絡性能測試工具,通常用於測試網絡上可達到的最大帶寬,它能夠測試TCP、UDP及SCTP的帶寬質量,可以提供網絡吞吐量、網絡波動、網絡丟包率以及最大傳輸單元大小等信息,能夠幫助我們測試網絡性能,定位網絡瓶頸。可在Linux、MacOS、FreeBSD、Window、Android、iOS、Docker等平台使用,是一個簡單使用的小工具
iperf3常用參數
-
通用參數:
-v # 查看版本信息 -p # 端口 -f # 指定帶寬輸出格式: Kbits、Mbits、Gbits、Tbits -i # 監控報告時間間隔,單位秒(s) -J # Json格式輸出結果 --logfile # 將結果輸出到指定文件中
-
服務端參數:
-s # 以服務器模式運行 -D # 后台運行服務器模式
-
客戶端參數:
-c # 以客戶端模式運行,連接到服務端 -t # 傳輸時間,默認10秒 -n # 傳輸內容大小,不能與-t同時使用 -b # 目標比特率(0表示無限)(UDP默認1Mbit/sec,TCP不受限制) -l # 要讀取或寫入的緩沖區長度(TCP默認128 KB,UDP默認1460) -O # 忽略前幾秒 -R # 反向模式運行,即服務端發送,客戶端接收 -u # 使用UDP協議,默認使用TCP協議 --get-server-output #輸出服務端的結果
更多參數請通過幫助命令
iperf3 --help
查看
iperf3官方下載地址:點擊進入官網下載
iperf3源碼GitHub地址:點擊進入GitHub
iperf3安裝
-
Linux CentOS中安裝
dnf install iperf3 -y
查看iperf3版本
-
Windows安裝
根據系統選擇64bit或32bit下載,window版本下載后是一個zip壓縮包,解壓后有以下兩個文件
不用運行iperf3.exe文件,具體請查看下文介紹的使用方法
-
Android安裝
支持iperf的app有很多,這里使用
he.net - Network Tools
軟件,它是一個綜合型的網絡測試工具,iperf3只是其中一項,通過官網地址下載需要kexue上網才能成功,此處提供一個安裝包Network Tools-APP,提取碼:y9rd,在手機上安裝軟件即可
iperf3使用
-
linuxCentOS中使用方法
1.1 選擇一台機器做為服務端,執行以下命令,默認時間1秒,默認端口5201
# 以服務端模式運行,設置監控時間2秒,並指定端口為8888 iperf3 -s -i 2 -p 8888
1.2 選擇另一台機器做為客戶端,執行以下命令進行帶寬測速
# 以客戶端模式運行,host:port為服務端信息,輸出結果以MB顯示,每個1秒打印一次,共計5秒,忽略前3秒的結果,反向模式運行 iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -t 5 -O 3 -R
默認正向模式,TCP協議
UDP協議,進行UDP測試,僅需增加參數-u即可
iperf3 -c 192.168.137.150 -p 8888 -f m -i 2 -t 10 -O 5 -u -R
指定比特率和傳輸內容大小,測試結果應無限接近指定值
iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -b 1000M -n 100M -u
通過上圖測試數據可以發現UDP與TCP的結果差距很大,通過查詢網上資料得知,很可能是緩存區buffer有限制導致的,通過增大緩沖區可以避免此情況,使用參數-l
iperf3 -c 192.168.137.150 -p 8888 -f m -i 1 -b 1000M -n 100M -l 15000 -u
-
Windows中使用方法
2.1 打開程序所在文件,在空白處按住鍵盤Shift鍵不放手,點擊鼠標右鍵,選擇“在此處打開命令窗口(W)”,進入命令行窗口
2.2 選擇一台做為服務端,使用Linux系統的服務端也可以,在命令行窗口中執行以下命令
# 啟動服務端,前台或后台運行 .\iperf3 -s -i 2 -p 6666 # 前台運行 .\iperf3 -s -i 2 -p 6666 -D # 后台運行
由於Windows版本不同,若命令前未添加
.\
,可能出現下圖中的報錯2.3 選擇一台機器做為客戶端,執行測試命令
iperf3 -c 192.168.137.13 -p 6666 -i 2 -t 10 --get-server-output
客戶端默認只顯示發送信息,接收信息需在服務端查看,為方便查看,可以使用參數
--get-server-output
同時輸出服務端的信息 -
Android中使用方法
3.1 先在Windows系統中啟動服務,即2.1的操作
3.2 開啟電腦的移動熱點,然后手機連接移動熱點
3.3 打開
Network Tools
,點擊【三】,選擇【iperf3】,在輸入框中輸入電腦的IP地址即可,也可以直接在輸入框中填寫命令,下面的4個選項分別表示時間間隔、字節大小、TCP\UDP、V4\V6、前三個相當於命令參數-i、-n和-u,支持v4和v6地址;下面展示的就是客戶端的運行結果下圖是服務端運行結果
移動端網絡測試實際就是無線網絡測速,會有很大損耗的,並不是握手顯示多少速率就能跑多少
iperf3卸載
-
Linux CentOS中卸載
1.1 查看本地已安裝的iperf3
dnf list installed | grep iperf3
1.2 刪除已安裝的iperf3
dnf remove iperf3.x86_64 -y
-
Windows中卸載
直接刪除程序包即可
-
Android中卸載
卸載Network Tools軟件即可
測試時要多注意命令的默認參數值,工作中常用此工具測試帶寬限速是否生效,更多功能請自行挖掘吧