Featured image of post 使用 iPerf3 測試網路頻寬

使用 iPerf3 測試網路頻寬

iPerf3 是網路效能量測的標準工具,可以測試兩台主機之間的 TCP/UDP 頻寬、延遲、Jitter 和封包遺失率。一端跑 server 模式監聽,另一端跑 client 模式發起測試。

安裝

1
2
3
4
5
6
7
8
# Debian / Ubuntu
sudo apt install iperf3

# RHEL / CentOS
sudo yum install iperf3

# macOS
brew install iperf3

Windows 版本可從 官方網站 下載。

基本用法

Server 端(監聽,等待 client 連線):

1
iperf3 -s

Client 端(指定 server IP 發起測試):

1
iperf3 -c <server-ip>

預設測試 TCP,持續 10 秒,結果顯示傳輸速率(Mbits/sec)。

常用參數

通用

參數說明
-p <port>指定連接埠(預設 5201)
-f [k|m|K|M]結果顯示單位(Kbits / Mbits / KBytes / MBytes)
-i <sec>每隔幾秒顯示一次中間報告
-J輸出為 JSON 格式
--logfile <file>輸出結果到檔案

Server 專用

參數說明
-s啟動 server 模式
-D以 daemon 模式在背景執行

Client 專用

參數說明
-c <host>啟動 client 模式,連線至指定 server
-u使用 UDP(預設 TCP)
-b <n>[KM]設定目標頻寬(UDP 預設 1 Mbit/sec,TCP 預設不限)
-t <sec>測試時間(預設 10 秒)
-n <n>[KM]指定傳輸總量(取代 -t
-P <n>平行連線數(預設 1)
-R反向測試(server 送、client 收)
-w <n>[KM]TCP window size(socket buffer)
-M <n>TCP 最大封包大小(MSS)
-N停用 Nagle 演算法(無延遲模式)
-4 / -6強制使用 IPv4 / IPv6
-O <sec>忽略前 N 秒(跳過 TCP slow start 階段)
-ZZero-Copy 模式(降低 CPU 使用率)

常用範例

測試 TCP 頻寬(30 秒,每秒顯示一次):

1
iperf3 -c 192.168.1.100 -t 30 -i 1

測試 UDP 頻寬(指定 100 Mbit/sec):

1
iperf3 -c 192.168.1.100 -u -b 100M

平行 4 條串流:

1
iperf3 -c 192.168.1.100 -P 4

反向測試(測量下行頻寬):

1
iperf3 -c 192.168.1.100 -R

跳過 TCP slow start,取得穩態頻寬:

1
iperf3 -c 192.168.1.100 -O 5

Reference

comments powered by Disqus