网络性能测试工具Iperf3

网络性能测试工具Iperf3_第1张图片

今天是上海浦西全域静态管理的第 34 天。

周一抗原,周二抗原+核酸,周三抗原。

网传 8 号 恢复地铁运营,不过已经被辟谣了,看来一时半会儿还是出不去。不过这几天感觉物流明显好多了,陆陆续续开始收到之前在京东下的单,小苏同学买了个厨师机,娘俩准备做糕点,老苏在琢磨着是不是应该研究怎么做面条了


什么是 Iperf3 ?

Iperf3 是一个网络带宽测试工具,Iperf3 可以报告带宽、延迟抖动和数据包丢失。利用 Iperf3 这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

Iperf3 可在 WindowsMac OSLinuxFreeBSD 等各种平台使用,是一个简单又实用的小工具。老苏之前用过 Windows 版本,但说实话仅限于最基本的应用,并没有深入过,今天也只是介绍安装而已。

Iperf3 采用了 C/S (客户端/服务器端)架构模式,在使用 Iperf3 测试时,要同时在 Server端与 Client 端都各执行一个程序,让它们互相传送报文进行测试。

安装

在群晖上以 Docker 方式安装 Server端。

在注册表中搜索 iperf3 ,选择第一个 networkstatic/iperf3,双击直接下载

网络性能测试工具Iperf3_第2张图片

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5201 5201

网络性能测试工具Iperf3_第3张图片

也可以再增加一个 UDP 协议

网络性能测试工具Iperf3_第4张图片

环境

需要在命令中输入 -s,表示以 server 模式运行

网络性能测试工具Iperf3_第5张图片

命令行安装

作为工具,一般都是 即开即用,用完即走,所以命令行加上了 --rm 参数,当你退出时容器会自动删除。

# 启动容器,退出交互后会删除容器
docker run -it \
   --rm \
   --name=iperf3-server \
   -p 5201:5201 \
   networkstatic/iperf3 \
   -s

网络性能测试工具Iperf3_第6张图片

如果你希望容器一直存在,可以取消 --rm 参数

# 启动容器,退出交互后容器会停止
docker run -it \
   --name=iperf3-server \
   -p 5201:5201 \
   networkstatic/iperf3 \
   -s

如果你不需要交互,可以将 -it 改为 -d ,这下就跟群晖 docker 安装是一样的了

# 启动容器
docker run -d \
   --name=iperf3-server \
   -p 5201:5201 \
   networkstatic/iperf3 \
   -s

运行

和以往的不同,Server端并不能在浏览器中输入 http://群晖IP:5201 看到主界面,只能在日志中看到服务正在侦听 5201 端口,还需要我们运行 Client 端才行

网络性能测试工具Iperf3_第7张图片

客户端

客户端的下载地址:https://iperf.fr/iperf-download.php

在这里你能找到各个平台的版本,老苏下载了 Windows 64 bits 的最新版本

网络性能测试工具Iperf3_第8张图片

解压后在 CMD 模式下运行

网络性能测试工具Iperf3_第9张图片

简单测试

测试台式机和群晖之间的带宽,采用的有线网络,群晖和客户端主机都是千兆网卡,中间的路由是电信的 磊科MG1200AC

iperf3 -c 群晖IP

网络性能测试工具Iperf3_第10张图片

常用命令

-c    表示以客户端启动,并在后面填写服务端的 IP 地址;
-p    指定端口号,需要和服务端指定的端口号一致;
-t    可以指定传输测试的持续时间, Iperf 在指定的时间内,重复的发送指定长度的数据包,默认是 10 秒钟.
-u    指定测试 UDP 协议;

-i    设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零;
-f    指定带宽单位;

-J    来输出 JSON 格式测试结果;
-R    反向传输,缺省 iperf3 使用上传模式: Client 负责发送数据, Server 负责接收;如果需要测试下载速度,则在 Client 侧使用 -R 参数即可;

--logfile    参数可以将输出的测试结果储存至文件中;

参考文档

esnet/iperf: iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool
地址:https://github.com/esnet/iperf

iPerf - Download iPerf3 and original iPerf pre-compiled binaries
地址:https://iperf.fr/iperf-download.php

你可能感兴趣的:(群晖,docker,工具)