iperf3 教學:測試 Linux 與 Windows 上的網路速度

10 分鐘閱讀 - 2026年5月7日

hero section cover
目錄
  • iperf3 教學:在 Linux 和 Windows 上測量網路效能
  • 安裝 iperf3
  • 設定伺服器
  • 執行客戶端測試
  • 進階測試
  • 調校與疑難排解
  • 影片推薦
分享

在 Linux 和 Windows 上安裝 iperf3、執行頻寬測試並調整 TCP 緩衝區,以獲得精確的結果。涵蓋 UDP、雙向和 10GbE+ 測試

iperf3 教學:在 Linux 和 Windows 上測量網路效能

iperf3 是一款用於測量兩台機器之間網路頻寬、抖動及封包遺失率的命令列工具。它採用客戶端-伺服器模式:一台機器負責監聽,另一台負責發送流量,藉此獲得精確的傳輸速率數據。本指南涵蓋安裝步驟、基礎與進階測試,以及如何調校系統以在高速連線中獲得精確結果。

安裝 iperf3

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

請使用 iperf3 --version。請在伺服器與客戶端機器上皆進行安裝。

Fedora / CentOS / Rocky / Alma

在 Fedora 22 以上、CentOS 8 以上、Rocky 或 AlmaLinux 上:

sudo dnf install iperf3

在 CentOS 7 上,請改用 yum 。若找不到套件,請先啟用 EPEL 套件庫:

sudo yum install epel-release
sudo yum install iperf3

若防火牆處於啟用狀態,請開啟 5201 埠:

sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload

Windows

iperf.frar51an/iperf3-win-builds GitHub 儲存庫下載獨立執行檔。將其解壓縮至如 C:\iperf3,然後驗證:

cd C:\iperf3
iperf3.exe -v

若要在任何目錄執行 iperf3,請透過「系統屬性>「進階」>「環境變數」將該資料夾加入系統 PATH。您還需在 Windows Defender 防火牆中建立一則允許 5201 埠 TCP 連線的入站防火牆規則。

設定伺服器

請使用以下指令啟動伺服器:

iperf3 -s

此指令預設會監聽 TCP 5201 埠。若要在背景執行並啟用記錄功能:

iperf3 -s -D --logfile /var/log/iperf3.log

使用以下指令確認是否正在運行: ss -tulpn | grep 5201.

若您的網路封鎖了 5201 埠,請使用 -p 選擇其他埠號。若要綁定至特定介面,請使用 -B:

iperf3 -s -B 192.168.1.10

若僅進行一次性測試, iperf3 -s -1 僅處理單一客戶端連線後即退出。在高頻寬連線(40 Gbps+)環境下,請於不同埠號上執行多個伺服器執行個體,以繞過單執行緒的 CPU 限制。

請確保您的防火牆允許所選埠號的流量。在採用 UFW 的 Ubuntu/Debian 系統上:

sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp   # if testing UDP

執行客戶端測試

基本 TCP 測試

iperf3 -c 192.168.1.10

此測試將測量 10 秒內的 TCP 上傳頻寬。若需延長測試時間,請使用 -t:

iperf3 -c 192.168.1.10 -t 30

在 10 Gbps 或 25 Gbps 鏈路上,單一 TCP 資料流通常會因單核心 CPU 限制而達到 3–5 Gbps 的上限。請使用並行資料流來飽和鏈路:

iperf3 -c 192.168.1.10 -P 8

解讀結果

每條間隔線顯示傳輸量(已發送資料)與位元率(吞吐量)。針對 TCP,還需留意:

  • Retr(重傳次數)。數值過高表示封包遺失或網路擁塞。
  • Cwnd(擁塞視窗)。若數值過低或停滯,表示緩衝區或視窗大小限制正壓制吞吐量。

在未受干擾的 1 Gbps 鏈路上,扣除協定開銷後預期吞吐量約為 940 Mbps。測試結束時會顯示發送方與接收方的摘要行。在穩定的網路環境下,這兩者數值應非常接近。

針對 UDP 測試(-u flag),輸出結果會額外顯示抖動(封包抵達時間變異)以及遺失/總數據報數量。對於 VoIP 等即時傳輸流量而言,抖動低於 1 毫秒且遺失率為 0% 為理想狀態。

實用旗標

標誌用途
-c <IP>連線至伺服器
-p <port>使用特定埠號(預設:5201)
-t <sec>測試持續時間(以秒為單位)(預設:10)
-i <sec>報告間隔
-P <num>並行串流
-uUDP 模式
-b <n>M目標頻寬(UDP;若未指定則預設為 1 Mbps)
-R反向模式(伺服器發送,客戶端接收)
-w <n>KTCP 視窗 / 套接字緩衝區大小
-JJSON 輸出
-Z零拷貝 (在高速連線時可降低 CPU 負載)

進階測試

雙向測試

--bidir 標誌 (iperf3 3.7+) 會同時測試上傳與下載:

iperf3 -c 192.168.1.10 --bidir

兩條連線均源自客戶端,因此無需開啟額外埠號即可透過 NAT 運作。若雙向測試結果遠低於單向測試,您的路由器或纜線數據機可能難以處理全雙工流量。

反向模式

-R 標誌會反轉資料流向,使伺服器負責發送而客戶端負責接收。此模式可在不交換角色情況下測量下載速度:

iperf3 -c 192.168.1.10 -t 30 -i 5 -R

若正向與反向測試結果差異甚大,則可能表示路徑非對稱、網路擁塞或緩衝區設定錯誤。

UDP 測試

UDP 測試可揭露抖動與封包遺失,而 TCP 則會透過重傳來掩蓋這些問題。請務必使用 -b,因為 iperf3 預設的 UDP 頻寬為 1 Mbps:

iperf3 -c 192.168.1.10 -u -b 1G

若要模擬 VoIP 流量(100 通通話,200 位元組封包):

iperf3 -c 192.168.1.10 -u -b 8M -l 200

品質基準:5 毫秒以下的抖動對 VoIP 而言尚可,超過 30 毫秒會造成可聽見的問題。0.1% 以上的封包遺失率會顯著降低即時媒體的品質。

調校與疑難排解

常見問題

在千兆位元連結上僅獲得 100 Mbps 速度請使用 ethtool eth0。自動協商有時會失敗,導致連線速度降至較低層級。

乙太網路的 MSS 顯示為 536 位元組?可能是路徑 MTU 偵測功能已停用。1,500 位元組 MTU 的預設 MSS 為 1,460 位元組。測試時請使用 -m 進行測試以確認。536 位元的 MSS 會浪費頻寬並增加開銷。

在高速連線中 CPU 負載爆表?請使用 -Z (zerocopy) 來降低 CPU 負載。對於 40 Gbps 以上的連線,請在不同埠上運行多個伺服器執行個體,並將其分散至各 CPU 核心。

測試結果不一致?請使用 -O 3 來跳過 TCP 擁塞視窗建立期間的前幾秒。測試執行之間請間隔 30 秒以清空網路緩衝區。

單一傳輸流的速度遠低於多重並行傳輸流的總和?若單一傳輸流僅達 200 Mbps,但八個並行傳輸流合計可達 1.6 Gbps,則表示 TCP 視窗或作業系統緩衝區限制了單一傳輸流的效能。請調整下方的緩衝區設定。

TCP 緩衝區調校

首先計算頻寬-延遲積(BDP):頻寬 × RTT。一條 10 Gbps 鏈路搭配 50 ms RTT,其 BDP 為 62.5 MB。請將最大緩衝區設定為至少 2 倍的 BDP。

將這些數值加入 /etc/sysctl.d/99-tcp-tuning.conf 並透過 sudo sysctl -p:

參數建議值 (1–10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
net.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

net.ipv4.tcp_moderate_rcvbuf 設定為 1,以便核心在這些範圍內進行自動調整。若 TCP 視窗大於 64 KB,請啟用 net.ipv4.tcp_window_scaling (設定為 1)以支援大於 64 KB 的 TCP 視窗。

您也可以將預設的 CUBIC 擁塞演算法切換為 Google 的 BBR。在存在某些封包遺失的高延遲連線中,BBR 始終能提供比 CUBIC 更高的吞吐量。

請在 iperf3 中使用 -w iperf3 中的旗標來測試特定緩衝區大小,但請注意此值不得超過核心的 rmem_maxwmem_max。千兆連線建議從 8 MB 開始,100 Mbps 則從 512 KB 開始。

若您正在配置專用伺服器並希望驗證網路效能,請在設定完成後以及任何網路變更後立即執行 iperf3 基準測試,以便及早發現效能退化。

影片推薦

博客

本周特色

更多文章
為什麼擁有強大且不計費的 VPS 是很重要的?

為什麼擁有強大且不計費的 VPS 是很重要的?

需要可靠的效能和無限的流量?功能強大的非計費 VPS 可提供您所需的速度、擴充性和頻寬,而無需擔心使用限制。

3 分鐘閱讀 - 2025年5月9日

如何在 Linux 上優化儲存空間

15 分鐘閱讀 - 2026年5月22日

更多文章