本文适用于正在排查网络性能、准备打流测试的企业网络工程师。
使用 iperf3 进行 UDP 测试非常简单。你可以通过以下步骤来启动 UDP 流量的测试。
1. 启动服务器端:
在服务器端运行 iperf3,并指定它以 UDP 模式运行。使用 -s 参数启动服务器:
iperf3 -s -i 1
-s:启动服务器模式。-i 1:每秒显示一次统计信息。
2. 启动客户端:
在客户端,你可以通过指定 UDP 模式,目标服务器地址,以及流量带宽来开始 UDP 测试。以下是常见的客户端命令:
iperf3 -c <server_ip> -u -b <bandwidth> -t <time>
-c <server_ip>:指定服务器的 IP 地址。-u:指定使用 UDP 测试模式。-b <bandwidth>:指定发送的带宽。例如,-b 1G表示每秒 1Gbps。-t <time>:测试持续的时间,单位是秒。例如,-t 30表示 30 秒的测试。
示例:
假设服务器的 IP 地址是 192.168.1.100,你希望发送 500 Mbps 的 UDP 流量,持续 60 秒:
iperf3 -c 192.168.1.100 -u -b 500M -t 60
这将让 iperf3 在 60 秒内从客户端向服务器发送 UDP 流量,并报告每秒的统计信息。
附加参数:
-p <port>:指定端口号,默认是 5201。-w <window_size>:指定 UDP 的窗口大小,通常用于控制数据包的发送速率。
如果需要更多控制选项,可以查看 iperf3 的帮助文档:
iperf3 --help
这应该能帮助你顺利进行 UDP 流量的测试!
哪些性能指标需要关注
在使用 iperf3 进行网络性能测试时,以下几个关键性能指标是需要特别关注的,以确保你能全面评估网络的吞吐量、延迟和稳定性等:
1. 带宽(Throughput)
- 定义:传输数据的速率,通常以 比特每秒(bps) 或 字节每秒(Bps) 表示。
- 如何查看:
iperf3默认会显示每秒传输的总字节数或比特数,通常以 Mbps 或 Gbps 为单位。 - 影响因素:网络链路的负载、丢包率、设备能力等。
示例输出:
[ 5] 0.00-10.00 sec 600 MBytes 500 Mbits/sec
这表示在 10 秒内传输了 600MB,带宽为 500Mbps。
2. 延迟(Latency)
- 定义:数据包从源头到目的地的传播时间,通常以 毫秒(ms) 为单位。
- 如何查看:通过
iperf3测试 UDP 时,延迟通常是每个数据包的响应时间。你可以使用-u参数来测试 UDP 延迟。 - 影响因素:网络路由、数据传输路径、设备处理能力等。
示例输出:
[ 5] 0.00-10.00 sec 15.0 ms 5.0 ms 25.0 ms
这里显示的是延迟的最大、最小和平均值。
3. 丢包率(Packet Loss)
- 定义:在数据传输过程中丢失的数据包的百分比。对于 UDP 流量,丢包率尤其重要,因为 UDP 不会自动重传丢失的数据包。
- 如何查看:
iperf3会显示 UDP 流量测试的丢包率。 - 影响因素:网络拥塞、设备资源限制、带宽不足等。
示例输出:
[ 5] 0.00-10.00 sec 5.0% packet loss
这表示在测试期间有 5% 的数据包丢失。
4. 抖动(Jitter)
- 定义:延迟的变化量。抖动是指数据包之间的延迟波动,对于语音和视频流等实时应用特别重要。
- 如何查看:在
iperf3中,UDP 测试会显示抖动的统计信息,通常是以 毫秒(ms) 为单位。 - 影响因素:网络路径的稳定性、负载波动、网络设备的响应能力等。
示例输出:
[ 5] 0.00-10.00 sec 2.0 ms 1.0 ms 3.0 ms
这里显示的是抖动的最小值、平均值和最大值。
5. TCP 连接的吞吐量(TCP Throughput)
- 定义:在 TCP 测试中,吞吐量表示数据成功传输的速度。
- 如何查看:
iperf3默认会输出 TCP 的吞吐量数据。 - 影响因素:TCP 拥塞控制、窗口大小、延迟等。
示例输出:
[ 5] 0.00-10.00 sec 400 MBytes 335 Mbits/sec
这里显示的是 TCP 流量的吞吐量。
6. TCP 的 RTT(Round-Trip Time)
- 定义:表示数据从发送端到接收端再返回的时间总和,通常以 毫秒(ms) 为单位。
- 如何查看:通常是通过 TCP 连接测试时来观察 RTT 时间。
- 影响因素:网络延迟、TCP 拥塞控制等。
示例输出:
[ 5] 0.00-10.00 sec 25.0 ms 15.0 ms 35.0 ms
这是 RTT 的最大、最小和平均值。
7. TCP 连接的拥塞窗口(TCP Congestion Window)
- 定义:TCP 协议通过控制拥塞窗口的大小来调节流量,避免网络出现拥堵。
- 如何查看:在使用
iperf3时,可以使用-w参数来设置窗口大小,并观察测试结果中的变化。 - 影响因素:网络带宽、延迟、丢包等。
8. CPU 使用率(CPU Usage)
- 定义:测试期间使用的 CPU 资源量,这对于服务器端或客户端的性能瓶颈分析非常有用。
- 如何查看:可以使用系统的监控工具(如
top或htop)来查看iperf3测试期间的 CPU 使用情况。 - 影响因素:主机性能、并发连接数、数据处理能力等。
总结
在 iperf3 测试中,UDP 测试的关键指标包括 带宽、延迟、丢包率、抖动。而在 TCP 测试中,最重要的是 吞吐量、RTT 和 拥塞窗口。根据测试目标,你可以根据这些指标来评估网络的性能,并作出优化决策。如果目标是实时应用(如语音或视频流),则丢包率和抖动尤为重要。
💡 如果你经常需要做网络性能测试、进行网络配置,不妨试试我们的「网络工具箱」:
✅ 免费获取开源网络小工具(如:拨测、带宽流量技术、子网掩码计算、公有云Region查询)
✅ 加入「企业网络实战交流群」,与一线网工讨论:
- 专线打流失败怎么办?
- 如何判断是链路问题还是设备瓶颈?
- 多点间网络延迟优化技巧
👉 钉钉扫码或留言“网络工具”即可获取资源+入群邀请
(仅限企业网络工程师、运维人员,审核后加入)