问题及解决方法
下载
官网地址:https://iperf.fr/iperf-download.php
Windows端
- 不管是使用CMD还是Powershell,都必须要以管理员身份运行,否则无法正常使用
- Windows的
%systemroot%
目录是C:\Windows\System32
运行服务端
iperf3是一款c-s软件,即client-server软件,分为客户端和服务端,服务端需要一直运行,客户端才能够正常使用。
运行与退出
最常见的运行服务端的命令是:
iperf3 -s
# 这里的s就是server的意思 默认监听5201端口
Ctrl+C
关闭服务端
仅运行一次就退出
iperf3 -s -1
# 运行一次后自动退出服务端
指定监听端口
如果需要指定特定的监听端口,我们可以使用-p参数,这里的p就是port的意思。
iperf3 -s -p 7777
# 手动指定监听端口为7777
守护进程模式
如果需要服务端在后台运行而不被关闭,可以尝试使用守护进程模式。
Daemon()程序是一直运行的服务端程序,又称为守护进程。通常在系统后台运行,没有控制终端,不与前台交互,Daemon程序一般作为系统服务使用。Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。
iperf3 -s -D
# 注意D一定要大写
运行客户端
运行客户端的前提是有服务端在运行且我们知道服务端的IP并能正常访问服务端(有时候可能会被防火墙或其他杀软拦截)。
因为外部设备所限,接下来小七同时在本机上运行服务端和客户端进行测速示例。
最简单的使用方法就是:
iperf3 -c ServerhostIP
# hostIP为服务端的IP地址
屏幕截图 2023-03-21 231358.png
自定义测试时间和输出格式
iperf3 -c localhost -i 2 -t 30 --logfile output.log
Copy
对于这一条指令,我们对后面的参数进行逐个解析。
-i 2
的作用是每2秒输出一次测试结果,数字2可以按照需要改成不同的数字-t 30
的作用是连续测试30s的时间--logfile output.log
的作用是将测试的结果输出到当前目录的output.log
文件里面,需要注意的是此时不会在控制台上输出测试信息
如果需要指定路径输出json文件,我们只需要使用-J
并在文件名前面指定路径即可:
iperf3 -c localhost -i 2 -t 30 -J --logfile C:\Users\Mr7th\Desktop\output.log
# 以Json格式将测试结果文件输出到桌面
使用反转模式(Reverse)
默认情况下我们进行测试,都是客户端发送数据,服务器端接收数据,这种情况下相当于只对上行带宽进行了测试,如果我们需要检测下行带宽,只需要使用-R
命令,即可变为客户端接收,服务器端发送。