今天是上海浦西全域静态管理的第 34 天。
周一抗原,周二抗原+核酸,周三抗原。
网传 8 号 恢复地铁运营,不过已经被辟谣了,看来一时半会儿还是出不去。不过这几天感觉物流明显好多了,陆陆续续开始收到之前在京东下的单,小苏同学买了个厨师机,娘俩准备做糕点,老苏在琢磨着是不是应该研究怎么做面条了
什么是 Iperf3 ?
Iperf3
是一个网络带宽测试工具,Iperf3
可以报告带宽、延迟抖动和数据包丢失。利用Iperf3
这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
Iperf3
可在 Windows
、Mac OS
、Linux
、FreeBSD
等各种平台使用,是一个简单又实用的小工具。老苏之前用过 Windows
版本,但说实话仅限于最基本的应用,并没有深入过,今天也只是介绍安装而已。
Iperf3
采用了 C/S
(客户端/服务器端)架构模式,在使用 Iperf3
测试时,要同时在 Server
端与 Client
端都各执行一个程序,让它们互相传送报文进行测试。
在群晖上以 Docker 方式安装 Server
端。
在注册表中搜索 iperf3
,选择第一个 networkstatic/iperf3
,双击直接下载
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
5201 |
5201 |
也可以再增加一个 UDP
协议
需要在命令中输入 -s
,表示以 server
模式运行
作为工具,一般都是 即开即用,用完即走
,所以命令行加上了 --rm
参数,当你退出时容器会自动删除。
# 启动容器,退出交互后会删除容器
docker run -it \
--rm \
--name=iperf3-server \
-p 5201:5201 \
networkstatic/iperf3 \
-s
如果你希望容器一直存在,可以取消 --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
端才行
客户端的下载地址:https://iperf.fr/iperf-download.php
在这里你能找到各个平台的版本,老苏下载了 Windows 64 bits
的最新版本
解压后在 CMD
模式下运行
测试台式机和群晖之间的带宽,采用的有线网络,群晖和客户端主机都是千兆网卡,中间的路由是电信的 磊科MG1200AC
iperf3 -c 群晖IP
-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