在CentOS上进行网络流量测试(打流测试)的常用方法如下:
1. 使用 iperf3
(推荐)
安装 iperf3
bash
yum install -y iperf3 # CentOS 7/8
dnf install -y iperf3 # CentOS 9+
服务端(接收端)
bash
iperf3 -s
# 默认端口 5201,使用 `-p` 指定端口(如 `iperf3 -s -p 5001`)
客户端(发送端)
bash
# 基本测试(TCP)
iperf3 -c <服务端IP> -t 60 # 测试60秒
# UDP测试(指定带宽)
iperf3 -c <服务端IP> -u -b 1G -t 30 # UDP 1Gbps带宽,30秒
# 多线程测试
iperf3 -c <服务端IP> -P 4 -t 60 # 4个并行连接
# 反向测试(服务端发送数据到客户端)
iperf3 -c <服务端IP> -t 60 -R
2. 使用 netperf
安装
bash
yum install -y netperf
服务端
bash
netserver # 启动服务(默认端口12865)
客户端
bash
# TCP_STREAM测试
netperf -H <服务端IP> -t TCP_STREAM -l 60
# UDP_STREAM测试
netperf -H <服务端IP> -t UDP_STREAM -l 60 -- -m 1472
3. 使用 nuttcp
安装
bash
yum install -y nuttcp
服务端
bash
nuttcp -S # 启动服务
客户端
bash
nuttcp -T 60 -u <服务端IP> # UDP测试
nuttcp -T 60 <服务端IP> # TCP测试
4. 使用 qperf
(测试RDMA和带宽)
安装
bash
yum install -y qperf
服务端
bash
qperf # 启动服务
客户端
bash
qperf <服务端IP> tcp_bw udp_bw # 测试TCP/UDP带宽
5. 使用 speedtest-cli
(测试互联网带宽)
bash
# 安装
yum install -y python3-pip
pip3 install speedtest-cli
# 运行
speedtest-cli
6. 使用 ping
和 traceroute
(基础网络诊断)
bash
ping -c 10 <目标IP> # 测试延迟和丢包
traceroute <目标IP> # 追踪路径
mtr -r -c 10 <目标IP> # 结合ping+traceroute
7. 使用 tc
模拟网络限制(测试弱网)
bash
# 添加延迟和丢包(示例)
tc qdisc add dev eth0 root netem delay 100ms loss 1%
# 清除规则
tc qdisc del dev eth0 root
注意事项
- 防火墙 :确保服务端端口开放(如
5201
for iperf3)。 - 多路径测试:结合不同协议(TCP/UDP)和并行连接模拟真实场景。
- 硬件限制 :网卡、CPU可能成为瓶颈,监控系统资源(
top
、iftop
)。
如果需要具体场景的测试方案,请提供更多细节(如测试目的、网络类型等)。