iperf3 使用方法詳解
iperf3 是一款帶寬測試工具,它支持調節各種參數,比如通信協議,數據包個數,發送持續時間,測試完會報告網絡帶寬,丟包率和其他參數。
小廣告:歡迎喜歡網絡技術的朋友加我微信:xfiles_sky,一起學習。
一、安裝
操作系統:Ubuntu20.04LTS
打開終端,直接輸入
#sudo apt install iperf3
二、使用方法
環境假設:
假設兩臺雲服務器 A(內)和 B(外),我們通過筆記本電腦終端分別 ssh 遠程連接上雲服務器 A 和 B。
A(內)IP 地址:10.10.0.1
B(外)IP 地址:10.10.0.2
目的一:測試 TCP 吞吐量
1、先讓 B(外)做 server 端,開啓 iperf 服務器模式,指定 TCP 端口 1314:
#iperf3 -s -i 1 -p 1314
2、然後打開 A(內)做 client 端,連接服務器端 1314 端口:
#iperf3 -c 10.10.0.2 -i 1 -t 60 -p 1314
經過 60 秒後,A(內)client 端得到結果如下圖:
B(外)服務器監聽 1314 端口得到的結果如下圖:
其中:
① Interval 表示時間間隔。
② Transfer 表示時間間隔裏面轉輸的數據量。
③ Bandwidth 是時間間隔裏的傳輸速率。
目的二:測試 UDP 吞吐量
1、B(外)server 端開啓 iperf 的服務器模式:
#iperf3 -s -i 1 -p 1314
2、A(內)client 端啓動 iperf 的客戶端模式,連接服務器端:
#iperf3 -u -c 10.10.0.2 -b 100m -t 60 -p 1314
A(內) 客戶端模式測得到數據如下:
B(外)服務器模式監聽得到結果如下:
目的三:進行上下行帶寬測試(TCP 雙向傳輸)
#iperf3 -c 192.168.0.120 -d -t 60
目的四:測試多線程 TCP 吞吐量
如果沒有指定發送方式,iPerf 客戶端只會使用單線程。
#iperf3 -c 192.168.0.120 -P 30 -t 60
目的五:測試多線程 UDP 吞吐量
如果沒有指定發送方式,iPerf 客戶端只會使用單線程。
#iperf3 -u -c 192.168.1.1 -b 5M -P 30 -t 60
目的六:測試上下行帶寬(UDP 雙向傳輸)
#iperf3 -u -c 192.168.1.1 -b 100M -d -t 60
三、iperf3 常用參數(測試足夠了)
(1)-s,--server:iperf 服務器模式,默認啓動的監聽端口爲 5201,eg:iperf -s
(2)-c,--client host:iperf 客戶端模式,host 是 server 端地址,eg:iperf -c 222.35.11.23
(3)-i,--interval:指定每次報告之間的時間間隔,單位爲秒,eg:iperf3 -c 192.168.12.168 -i 2
(4)-p,--port:指定服務器端監聽的端口或客戶端所連接的端口,默認是 5001 端口。
(5)-u,--udp:表示採用 UDP 協議發送報文,不帶該參數表示採用 TCP 協議。
(6)-l,--len:設置讀寫緩衝區的長度,單位爲 Byte。TCP 方式默認爲 8KB,UDP 方式默認爲 1470 字節。通常測試 PPS 的時候該值爲 16,測試 BPS 時該值爲 1400。
(7)-b,--bandwidth [K|M|G]:指定 UDP 模式使用的帶寬,單位 bits/sec,默認值是 1 Mbit/sec。
(8)-t,--time:指定數據傳輸的總時間,即在指定的時間內,重複發送指定長度的數據包。默認 10 秒。
(9)-A:CPU 親和性,可以將具體的 iperf3 進程綁定對應編號的邏輯 CPU,避免 iperf 進程在不同的 CPU 間調度。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://zhuanlan.zhihu.com/p/314727150