如何将 Iperf 结果保存在输出文件中

问题描述 投票:0回答:7

我正在一组从 txt 文件读取的主机之间运行 iperf,以下是我的运行方式:

h1,h2 = net.getNodeByName(node_id_1, node_id_2)

net.iperf((h1, h2))

运行良好并显示结果。但是,我想将 iperf 结果的输出保存在单独的 txt 文件中。有谁知道我如何将其应用到上面的代码上?

python networking iperf mininet
7个回答
2
投票

为了将 iperf 测试的结果存储在文件中,请添加 | tee 后跟 filename.txt 到您的命令行,例如:

iperf -c ipaddress -u -t 10 -i 1 |发球结果.txt


2
投票

你已经尝试了吗:

--输出测试.log

(在较新的版本中

--logfile

或使用

youriperfexpr > 测试.log


1
投票

我也遇到这个问题了。尽管联机帮助页指定“-o”或“--output”将输出保存到文件,但这实际上不起作用。

这似乎被标记为“WontFix”: https://code.google.com/p/iperf/issues/detail?id=24

看起来 -o/--output 存在于以前的版本中,但在 当前版本。昨天会议的共识是,如果 --输出存在,那么我们应该修复它,否则人们应该使用 shell 重定向,我们将标记此 WontFix。所以,不会修复。

所以也许只需按照Paolo

的建议使用打字稿或“>test.log”

1
投票

我认为 Chiara Contoli 在这里给出了答案:iperf 结果在输出文件中

总结:

h1.cmd('iperf -s > server_output.txt &')
h2.cmd('iperf -t 5 -c ', h1.IP() + '  >  client_output.txt &')

1
投票

服务器

iperf3 -s -p <port> -B <IP> >> <filename> &

客户

iperf3  -p <port>  -c <server_ip> -B <client_ip> -t 5 >> <filename>

完成后请确保终止服务器上的 iperf 进程


0
投票

由于您在 python 上运行它,保存结果的另一种方法是使用 popen:

popen( '<command> > <filename>', shell=True)

例如:

popen('iperf -s -u -i 1 > outtest.txt', shell=True)

您可以查看此以获取更多信息:

https://github.com/mininet/mininet/wiki/Introduction-to-Mininet#popen


0
投票

如果您需要保存txt格式的文件。 在客户端计算机上运行 cmd(adm),然后您需要编写以下内容:

cd c:\iperf3
iperf3.exe -c "you server address"  -p "port"  -P 10 -w 32000 -t 0 >> c:\iperf3\text.txt

(-t 0) - 无穷大 在客户端计算机上,您将在 cmd 中看到黑屏。这是正常的。您将在服务器计算机中看到所有进程。测试后,在客户端计算机上的 cmd 中需要按 ctrl+c 并在 (y) 之后。 之后,您在目录

c:\iperf3\text.txt
中的文件将收集有关该时期的所有信息。 如果您在 cmd 中按下关闭,此文件
text.txt
将为空。

建议在记事本或写字板中打开此文件以获得正确的视图。

© www.soinside.com 2019 - 2024. All rights reserved.