iperf3 是一款免費開源、跨平台的基於命令行的程序,用於進行實時網絡吞吐量測量。它是測試IP網絡中可達到的最大帶寬的最強大工具之一(支持IPv4 和 IPv6)。
使用 iperf,您可以調整與時間、緩衝區和協議(如TCP、UDP和SCTP)相關的多個參數。這對於網絡性能調優操作非常有用。
為了獲得最大或者改進的網絡性能,您需要提高網絡的接收和發送能力的吞吐量以及延遲。
然而,在您進行實際調優之前,您需要執行一些測試,以收集整體網絡性能統計數據,這將指導您的調優過程。
其結果包括以秒為單位的時間間隔、數據傳輸量、帶寬(傳輸速率)、丟包率和其他有用的網絡性能參數。它主要旨在協助調優特定路徑上的TCP連接,這就是我們在本指南中將要重點關注的。
要求:
- 兩台已安裝iperf3的網絡連接的計算機。
在Linux系統中安裝 iPerf3 的方法
如何在Linux系統中安裝iPerf3
在開始使用iperf3之前,您需要在將用於基準測試的兩台機器上安裝它。由於iperf3在大多數常見的Linux發行版的官方軟件庫中都有提供,因此使用包管理器安裝它應該很容易,如下所示。
$ sudo apt install iperf3 [On Debian, Ubuntu and Mint] $ sudo yum install iperf3 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a net-misc/iperf [On Gentoo Linux] $ sudo apk add iperf3 [On Alpine Linux] $ sudo pacman -S iperf3 [On Arch Linux] $ sudo zypper install iperf3 [On OpenSUSE]
一旦您在兩台機器上都安裝了iperf3,您就可以開始測試網絡吞吐量了。
如何測試兩台Linux服務器之間的網絡速度
首先,連接到將用作服務器的遠程機器,並使用-s
標誌以服務器模式啟動iperf3,它將默認監聽5201端口。
您可以使用-f
開關指定報告的格式(k、m、g表示Kbits、Mbits、Gbits或K、M、G表示KBytes、Mbytes、Gbytes),如下所示。
$ iperf3 -s -f K
如果您的服務器上5201端口被另一個程序使用,您可以使用-p
開關指定不同的端口(例如3000),如下所示。
$ iperf3 -s -p 3000
或者,您可以使用-D
標誌將服務器作為守護進程運行,並將服務器消息寫入日誌文件,如下所示。
$ iperf3 -s -D > iperf3log
然後在我們將其作為客戶端(進行實際基準測試的地方)的本機上運行iperf3以客戶端模式運行,使用-c
標誌並指定運行伺服器的主機(可以使用其IP地址、域名或主機名)。
$ iperf3 -c 192.168.10.1 -f K
大約18到20秒後,客戶端應終止並產生結果,顯示基準測試的平均吞吐量,如下截圖所示。

如何在Linux中進行高級網路測試吞吐量
有一些用於執行高級測試的客戶端特定選項,如下所述。
確定特定時間內網路中的數據量的一個重要因素是TCP窗口大小 – 這在調整TCP連接時很重要。您可以使用-w
標誌來設置窗口大小/套接字緩衝區大小,如下所示。
$ iperf3 -c 192.168.10.1 -f K -w 500K
要在反向模式下運行(其中伺服器發送而客戶端接收),添加-R
開關。
$ iperf3 -c 192.168.10.1 -f K -w 500K -R
要運行雙向測試,即同時測量兩個方向的帶寬,請使用-d
選項。
$ iperf3 -c 192.168.10.1 -f K -w 500K -d
如果要在客戶端輸出中獲取伺服器結果,請使用--get-server-output
選項。
$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output

還可以使用-P
選項設置並行客戶端流的數量(在此示例中為兩個),這些流同時運行。
$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2
有關更多信息,請參閱iperf3手冊頁。
$ man iperf3
那就是!記得在進行實際網絡性能調整之前,總是要進行網絡性能測試。 iperf3 是一個強大的工具,非常適合用於運行網絡吞吐量測試。
如果你有什麼想法要分享或問題要問,請使用下面的評論表單。
Source:
https://www.tecmint.com/test-network-throughput-in-linux/