要让 iperf3
持续运行而不自动停止,可以通过以下方法实现:
1. 使用 --time
参数延长测试时间
默认情况下,iperf3
的测试时间为 10 秒。通过 -t
或 --time
参数可以指定更长的测试时间(单位:秒)。例如:
# 持续运行 1 小时(3600 秒)
iperf3 -c <服务器IP> -t 3600
如果想无限运行,可以设置一个极大的值(如 -t 86400
,即 24 小时),但需注意网络和系统资源占用。
2. 结合循环脚本实现永久运行
如果希望测试永久重复执行,可以用脚本循环调用 iperf3
:
Bash 示例(客户端)
while true; do
iperf3 -c <服务器IP> -t 60 # 每次测试60秒后重启
done
Windows CMD/PowerShell
:loop
iperf3.exe -c <服务器IP> -t 60
goto loop
3. 使用 --parallel
+ --reverse
+ --bidir
通过多线程或双向测试增加复杂度,避免单次测试过早结束:
# 多线程+双向测试(持续30秒)
iperf3 -c <服务器IP> -t 30 --parallel 4 --bidir
4. TCP Keepalive (防止连接超时)
如果因网络空闲导致连接断开,可启用 TCP Keepalive:
iperf3 -c <服务器IP> --get-server-output --keepalive=5 #每5秒发送保活包
5. Docker/K8s环境下后台运行
在容器中让 iperf3
以服务形式运行:
# Dockerfile示例(服务端)
CMD ["iperf3", "-s", "-D"] # -D参数使进程后台化
注意事项
- 资源监控:长期运行可能占用大量带宽和CPU。
- 日志记录:建议重定向输出到文件以便分析:
iperf3 -c <服务器IP> -t ∞ > iperf.log &
- 终止命令:按
Ctrl+C
或使用pkill iperf3
结束进程。
如果需要更定制化的方案(如定时任务、自动化报告),可以结合工具如 tmux/screen/nohup
实现。
内容由零声教学AI助手提供,问题来源于学员提问