使用 iperf/iperf3 进行 PC/群晖/Docker 的局域网点对点测速

2024-09-29 19:57:39 浏览数 (3)

一、什么是 iPerf / iPerf3?

iperf/iperf3 是一个强大的测试网络最大带宽工具。作为一个跨平台的工具,可以为任何网络提供标准化的性能测量。iperf/iperf3 具有客户端和服务器功能,可以创建数据流来测量两端之间单向或双向的网络吞吐量。

它支持调优与计时、缓冲区和协议相关的各种参数(TCP、UDP、带有 IPv4 和 IPv6 的SCTP)。iPerf 最初由 NLANR/DAST 开发,iPerf3 主要由 ESnet/Lawrence Berkeley 国家实验室开发。典型的 iperf 输出包含一个有时间标记的数据传输量和吞吐量测量的报告。

二、 iPerf / iPerf3 的使用场景?

iPerf3 支持 TCP 和 UDP,是一个用于测试 IP 网络性能的工具,所以 iPerf3 的网络结构和IP 网络是一样的,是一个主从式的网络结构。

完成一个完整的 iPerf3 测试,通常至少需要二个 IP 主机,一个(或者多个)主机上运行iPerf3 Server 服务端, 另外一个(或者多个)运行 iPerf3 client 客户端。

最简单的一个iPerf3测试网络

注意:

1、一个 IP 主机可以同时运行多个 iPerf Server 服务端(需要指定不同的端口)和多个 iPerf3 client 客户端,则一个 IP 主机可以同时充当主机和从机二个角色。 2)一个 IP 主机可以有多个网络接口卡,每个网卡上可以绑定一个或者多个 iPerf3 实例,并且每个 iPerf3 实例可以自由的选择工作于服务端模式还是客户端模式。

三、iPerf / iPerf3 的使用方法

1、安装 iPerf3

Ubuntu:

代码语言:javascript复制
sudo apt install iperf3

Mac:

代码语言:javascript复制
brew install iperf3

Windows:点此下载

群晖:在 docker 中搜索安装 iperf3,选标星最多的镜像下载好了之后点启动。然后选择高级设置:端口设置:将本地端口配置为 5201;环境 -> 执行命令,填写命令-s,设置为服务端。(注意:这里 -s 参数在群晖 7.0 以后在 docker 启动时就应该添加,高级设置里面不再有这个参数)。

2、使用 iPerf3 测试网络带宽和性能

运行 server 服务端模式:

代码语言:javascript复制
iPerf3 -s

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

运行于 client 客户端模式:

代码语言:javascript复制
iPerf3 -c xxx.xxx.xxx.xxx

客户端示意图

xxx.xxx.xxx.xxx 需要替换成 iperf3 服务端所有的主机的 IP 地址,默认会去连接对端的 5201 端口,默认的协议为 TCP,发送 10 秒后,会停止,并报告收发二端 (sender/client, receiver/server)的网络收发包统计结果。

四、iPerf3 命令参数详解

见官方参数说明文档:https://iperf.fr/iperf-doc.php#3doc

0 人点赞