Iperf3-将小时/分钟/秒放在每行的开头



我目前正试图在我的基础设施上启动一个非常长的Iperf测试,所以我正在开发一些powershell脚本来进行测试。

为了分析结果,我希望在我的输出中每行发送一个新数据包的小时/分钟/秒。

目前,我在我的脚本中使用这样的-T参数:

Start-Process -FilePath "C:iperf3.exe" -Verb runAs -ArgumentList "-c",CLIENT_IP,"-t","86400","-p",5102,"-T","$(Get-Date -Format 'HH:mm:ss')","--logfile","C:toto.txt"

但是命令的输出只会给我当前的时间,当我启动这样的命令时:

03:40:56:  Connecting to host x.x.x.x, port 5201
03:40:56:  [  4] local x.x.x.x port 41674 connected to x.x.x.x port 5201
03:40:56:  [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
03:40:56:  [  4]   0.00-1.00   sec   113 MBytes   946 Mbits/sec    0    208 KBytes       
03:40:56:  [  4]   1.00-2.00   sec   112 MBytes   943 Mbits/sec    0    208 KBytes       
03:40:56:  [  4]   2.00-3.00   sec   112 MBytes   939 Mbits/sec    0    210 KBytes       
03:40:56:  [  4]   3.00-4.00   sec   112 MBytes   942 Mbits/sec    0    210 KBytes       
03:40:56:  [  4]   4.00-5.00   sec   112 MBytes   940 Mbits/sec    0    210 KBytes

如果不重新启动命令iperf3.exe.几次,我就找不到一种方法来随着当前时间增加值

有没有增加价值的解决方案?我不能用";对于"/"而";循环(在我看来(,因为它运行了很多iperf3实例,而这不是预期的。

有关信息,我使用Windows上的iperf3-3.1.3的最新版本。

提前感谢您的帮助。

根据iperf3的文档判断:

  • -T(--title(用于定义一个静态前缀,以便在每个输出行之前,由于传递了可扩展字符串"$(Get-Date -Format 'HH:mm:ss')"作为参数,因此使用了一个表示字符串扩展(插值(时时间static字符串。

  • 相比之下,您要查找的是--timestamps选项,它会为每个输出行预先准备一个(真实的、与事件相关的(时间戳。

    • 您可以使用Unixstrftime()库函数中使用的格式字符串,通过可选参数控制这些时间戳的特定格式

    • 这些格式字符串与.NET的日期/时间格式字符串(例如Get-Date所使用的(不兼容,因此HH:mm:ss不起作用;strftime()等效为:%H:%M:%S

把所有这些放在一起:

Start-Process -FilePath 'C:iperf3.exe' -Verb RunAs -ArgumentList @"
-c $client_IP -t 86400 -p 5102 --logfile C:toto.txt --timestamps=%H:%M:%S
"@

注意:我已经用变量$client_IP替换了CLIENT_IP(我认为它只是一个伪代码占位符(-根据需要进行调整

您是否尝试使用--interval--verbose(了解详细信息(选项?

相关内容

  • 没有找到相关文章

最新更新