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