测试准备
服务端(Server):在一台机器上启动服务端,它会监听默认的 5201 端口。
iperf3 -s
如需指定端口,使用
参数:
-p
iperf3 -s -p 5202
客户端(Client):在另一台机器上使用以下指令发起测试。
核心指令格式
所有客户端测试指令都遵循这个模式:
iperf3 -c <服务器IP地址> [协议] [包长] [带宽] [持续时间] [并行] [窗口] [反向测试]
一、TCP 协议测试指令
1. TCP 长包测试 (测试带宽)
目的:测试网络最大吞吐量,使用大包减少协议开销。
正向测试 (Client -> Server)
# 基本指令(默认包长~1460字节) iperf3 -c <服务器IP> -t 30 # 显式指定大包(1460或8192),4并行流,加大窗口 iperf3 -c <服务器IP> -l 1460 -t 30 -P 4 -w 2M
反向测试 (Server -> Client)
只需在正向测试命令后加上
参数。
-R
iperf3 -c <服务器IP> -l 1460 -t 30 -P 4 -w 2M -R
2. TCP 短包测试 (测试小包性能)
目的:测试系统处理小数据包的能力,对CPU和中断压力大,更能反映延迟。
正向测试 (Client -> Server)
# 使用64字节小包,单线程 iperf3 -c <服务器IP> -l 64 -t 30 # 使用128字节包,4并行流以减少单线程CPU瓶颈 iperf3 -c <服务器IP> -l 128 -t 30 -P 4
反向测试 (Server -> Client)
iperf3 -c <服务器IP> -l 64 -t 30 -R iperf3 -c <服务器IP> -l 128 -t 30 -P 4 -R
二、UDP 协议测试指令
重要:UDP测试必须使用
参数并用
-u
指定发送速率,否则默认仅为1Mbps。
-b
1. UDP 长包测试 (测试大包吞吐量和丢包)
目的:在UDP下测试最大可用带宽和丢包率。
正向测试 (Client -> Server)
# 以800Mbps速率发送1460字节的大包,测试60秒 iperf3 -c <服务器IP> -u -b 800M -l 1460 -t 60
反向测试 (Server -> Client)
iperf3 -c <服务器IP> -u -b 800M -l 1460 -t 60 -R
2. UDP 短包测试 (测试小包转发能力和抖动)
目的:测试网络设备(路由器、交换机)的小包转发性能(PPS),并测量抖动(Jitter)。
正向测试 (Client -> Server)
# 以100Mbps速率发送64字节的小包,测试30秒 iperf3 -c <服务器IP> -u -b 100M -l 64 -t 30 # 更苛刻的测试:以200Mbps速率发送更小的包 iperf3 -c <服务器IP> -u -b 200M -l 32 -t 30
反向测试 (Server -> Client)
iperf3 -c <服务器IP> -u -b 100M -l 64 -t 30 -R iperf3 -c <服务器IP> -u -b 200M -l 32 -t 30 -R
三、完整测试方案示例
假设服务器IP为
,建议按以下顺序执行一套完整的测试:
192.168.1.100
TCP 带宽基线测试(长包)
iperf3 -c 192.168.1.100 -l 1460 -t 30 -P 4 # 正向 iperf3 -c 192.168.1.100 -l 1460 -t 30 -P 4 -R # 反向
TCP 小包性能测试(短包)
iperf3 -c 192.168.1.100 -l 64 -t 30 -P 4 # 正向 iperf3 -c 192.168.1.100 -l 64 -t 30 -P 4 -R # 反向
UDP 带宽与丢包测试(长包)
iperf3 -c 192.168.1.100 -u -b 900M -l 1460 -t 20 # 正向 iperf3 -c 192.168.1.100 -u -b 900M -l 1460 -t 20 -R # 反向
UDP 抖动与PPS测试(短包)
iperf3 -c 192.168.1.100 -u -b 50M -l 64 -t 15 # 正向 iperf3 -c 192.168.1.100 -u -b 50M -l 64 -t 15 -R # 反向
参数解释表
参数 | 含义 | 示例 |
---|---|---|
|
客户端模式,指定服务器IP |
|
|
使用UDP协议(不加则默认TCP) |
|
|
UDP专用,指定发送速率 | ,
|
|
设置数据包长度(字节) | (短包), (长包) |
|
测试持续时间 | (30秒) |
|
并行连接数,用于多线程测试 | (4个连接) |
|
设置TCP窗口大小(Socket缓冲区) | (2MB) |
|
反向测试(Server发送,Client接收) |
|
|
定期报告的时间间隔 | (每5秒报告一次) |
|
将输出重定向到文件 |
|
-D 后台监听 可以同时配合top来看cpu的占用率
通过组合这些指令,你可以全面评估网络在不同协议、不同数据包大小和不同传输方向上的性能表现。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...