ljzsdut
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

网络性能测试工具iperf3

概述

iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽,丢包率和其他参数。

一、什么是iperf3

iPerf3 是一个非常强大的用于测试IP网络的最大带宽的工具。它支持设置调整各种参数,如时间,缓冲,协议等等,以支持得到被测的IP网络的在不同配置下的网络性能,得到各种性能指标如带宽,丢包率等等。iPerf3不后能兼容iperf,也和iperf没有共享源代码,是一个完全不同于iperf的全新工具。

官方网站是:https://iperf.fr/

二、iperf3网络结构

iPerf3支持TCP和UDP,是一个用于测试IP网络性能的工具,所以iPerf3的网络结构和IP网络是一样的,是一个主从式的网络结构,完成一个完整的iPerf3测试,通常至少需要二个IP主机,一个(或者多个)主机上运行iPerf3 Server服务端, 另外一个(或者多个)运行iPerf3 client客户端。

注意:

1)一个IP主机可以同时运行多个iPerf Server服务端(需要指定不同的端口)和多个iPerf3 client客户端,则一个IP主机可以同时充当主机和从机二个角色。

2)一个IP主机可以有多个网络接口卡,每个网卡上可以绑定一个或者多个iPerf3实例,并且每个iPerf3实例可以自由的选择工作于服务端模式还是客户端模式。

三、软件安装

# Ubuntu
apt install iperf3

# CentOS
yum install iperf3

四、使用

Server端:

root@worker11:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

会在主机端运行iPerf3,默认在5201端口同时监听UDP和TCP。

Client端:

root@worker12:~# iperf3 -c 172.16.1.12
Connecting to host 172.16.1.12, port 5201
[  4] local 172.16.2.12 port 37928 connected to 172.16.1.12 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   116 MBytes   971 Mbits/sec    0   3.01 MBytes
[  4]   1.00-2.00   sec   112 MBytes   937 Mbits/sec    0   3.01 MBytes
[  4]   2.00-3.00   sec   111 MBytes   934 Mbits/sec    0   3.01 MBytes
[  4]   3.00-4.00   sec   111 MBytes   930 Mbits/sec    0   3.01 MBytes
[  4]   4.00-5.00   sec   111 MBytes   933 Mbits/sec    0   3.01 MBytes
[  4]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0   3.01 MBytes
[  4]   6.00-7.00   sec   111 MBytes   931 Mbits/sec    0   3.01 MBytes
[  4]   7.00-8.00   sec   111 MBytes   937 Mbits/sec    0   3.01 MBytes
[  4]   8.00-9.00   sec   112 MBytes   938 Mbits/sec    0   3.01 MBytes
[  4]   9.00-10.00  sec   112 MBytes   936 Mbits/sec    0   3.01 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  1.09 GBytes   937 Mbits/sec                  receiver

iperf Done.

默认会去连接对端的5201端口,默认的协议为TCP,发送10秒后,会停止,并报告收发二端(sender/client, receiver/server)的网络收发包统计结果。

参考资料

网络带宽和速度测试windows和linux用iperf工具

其他测试用例

iPerf3命令参数详解