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

时间:2014-09-06 16:15:29

标签: python networking iperf mininet

我在从txt文件中读取的一组主机之间运行iperf,这是我如何运行它:

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

net.iperf((h1, h2))

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

6 个答案:

答案 0 :(得分:1)

你们已经尝试过:

  

- 输出test.log

(较新版本--logfile

或使用

  

youriperfexpr> test.log中

答案 1 :(得分:1)

我也有这个问题。虽然联机帮助页指定了" -o"或" - 输出"要将输出保存到文件,这实际上不起作用。

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

  

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

所以也许只需使用打字稿或"> test.log"正如Paolo

所建议的那样

答案 2 :(得分:1)

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

iperf -c ipaddress -u -t 10 -i 1 | tee result.txt

答案 3 :(得分:1)

我认为Chiara Contoli在这里给出答案:iperf result in output file

总结:

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

答案 4 :(得分: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

答案 5 :(得分:0)

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

cd c:\ iperf3 iperf3.exe -c“您的服务器地址” -p“端口” -P 10 -w 32000 -t 0 >> c:\ iperf3 \ text.txt

(-t 0)-无穷大 在客户端计算机上,您将看到cmd的黑屏。这是正常的。您将在服务器计算机中看到所有过程。测试之后,在cmd客户端计算机上需要按ctrl + c,然后按(y)。 之后,您在目录c:\ iperf3 \ text.txt中的文件将收集有关此时间段的所有信息。 如果您按cmd键关闭此文件,则text.txt文件将为空。

建议在NotePad或WordPad中打开此文件以获取正确的视图。