iPerf3 搭建局域网内部测速环境

默认分类 · 2023-04-20 · 154 人浏览

iperf 是一个有很多年历史的网络测试工具了,目前最新版本是 iperf3。

官网:https://iperf.fr/iperf-download.php 国内访问速度不好,可能需要科学上网。

各种系统平台全都支持,包括几大主流的 Linux 发行版。

Linux 这边,一般情况下系统默认源里就会带有 iperf3,这里以 Debian 系统作为例子,要安装的话只需要一句:

apt install iperf3
然后 iperf3 就装好了,安装之后,可以任意选择要作为服务器端还是客户端,一般作为服务器端的话,则运行:

iperf3 -s
程序会自动监听默认的 5201 端口,防火墙注意也要放行此端口,这样服务器端就准备好了。

-s 表示运行在服务器模式下,还可以用-p 指定监听其他端口,-D 参数则可以后台运行。比如想自定义监听 8888 端口,并且后台运行,则命令如下:

iperf3 -s -p 8888 -D
iperf 实际还有很多可以额外指定的参数,这个具体自己参考网上资料,也不一个个解释了。

如果有 Docker 的,还能用 Docker 运行,只需要一句命令,即可自动拉取镜像并运行,傻瓜式完成服务器端搭建:

docker run --restart=unless-stopped --name=iperf3 -d -p 5201:5201/tcp -p 5201:5201/udp mlabbe/iperf3

Windows 系统这边的服务器搭建是一样的的办法,先去下载对应的版本,这年头一般也就是直接选 64 位最新版的 3.1.3 了。
不要点 exe 运行(实际点了也不会有任何效果),而是在程序文件所在的文件夹空白处,按住键盘的 shift 键,同时单击鼠标右键,选择在此处打开 PowerShell 窗口,也就是命令行窗口,要注意的是由于 PowerShell 的安全限制,命令前面要加上.\,也就是变成:

.\iperf3 -s
后面跟的附加参数之类都是一样的用法,不再赘述。不过个人感觉是 windows 主机作为服务端效率似乎不高,更推荐 linux 作为服务端。

搭完了服务端,最后就是用客户端来测速了,其实区别就是输的指令不同,客户端最简单的测速指令就是输入:

iperf3 -c 192.168.2.165
IP 地址换成自己服务器端的,PowerShell 里运行的话记得前面加.\,然后就可以看到测速结果了
默认是客户端发送,服务器端接收。也可以反过来,让服务器端发送,客户端接收,那就是后面跟随-R 参数,注意 R 要大写:

iperf3 -c 192.168.2.165 -R
默认单线程压力可能会不够,可以加-P 参数指定多线程,注意是大写的 P,一般可以设定 5-10 线程:

iperf3 -c 192.168.2.165 -P 5
客户端默认只会显示发送的成绩,接收的成绩在服务器端那边显示,显然看起来不方便,于是还可以跟随--get-server-output参数,让客户端显示服务器端的信息:

iperf3 -c 192.168.2.165 --get-server-output
效果如下图,第二段的 Server output 部分就是服务器端的接收信息: