如果我使用带有 -y C 和 -r 参数的 iperf 来测试双向传输并将其导出为 CSV。
我得到了一些输出,但问题是我不知道列名是什么。例如它显示了三行数据,但我不知道哪个对应于发送和接收。
我可以猜到其他列,但我宁愿确定。
我在任何地方都找不到这个记录!
如果我使用带有 -y C 和 -r 参数的 iperf 来测试双向传输并将其导出为 CSV。
我得到了一些输出,但问题是我不知道列名是什么。例如它显示了三行数据,但我不知道哪个对应于发送和接收。
我可以猜到其他列,但我宁愿确定。
我在任何地方都找不到这个记录!
字段是
时间戳、源地址、源端口、目标地址、目标端口、时间间隔、传输字节数、每秒位数
我通过查看推断出这一点
编辑:您可以在此处找到相关的源代码:
日期和时间、源 IP、源端口、目标 IP、目标端口、iperf 进程号、时间间隔、传输的数据量(字节)、带宽(比特每秒)、抖动(毫秒)、丢失数据报的数量、总数发送的数据报数、丢失百分比、乱序接收的数据报数
我从以下渠道获得了上述信息:
http://www.jb.man.ac.uk/~jcullen/code/python/iperf_tests.py
接受的答案会跳过一个奇怪的字段:源和目标 IP+端口对之后的字段:
接受的答案中的代码说这来自
transferID
变量。这里的其他一些答案似乎认为它代表连接标识符或连接方向。但是,快速浏览代码表明它transferID
来自一个名为groupID
. 它被初始化为零:但是,通过代码快速 grep 似乎表明它增加和减少了很多,非常令人困惑。似乎没有任何定义的常量说明它的含义。手动测试 (
iperf version 2.0.9 (9 Sept 2016) pthreads
) 显示连接之间重复使用的数量。所以我猜这个故事的寓意是……忽略那个数字?或者使用iperf3。假设“,”(逗号)是字段分隔符,请查看第 6 个字段。然后在这里查看这些行:
[ 5] local 127.0.0.1 port 54401 connected with 127.0.0.1 port 5001 [ 4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 54401 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 50.3 GBytes 43.2 Gbits/sec [ 4] 0.0-10.0 sec 50.3 GBytes 43.2 Gbits/sec
“5”表示客户端->服务器连接,然后“4”表示“服务器->客户端”连接(查看源/目标端口来判断,在这个由“sciurus”给出的特定示例中。
这是一个使用 CSV 值并在循环中运行以检查是否满足给定 bps 的简单演示。
我还发现上面的答案中有一个额外的字段,其值为 3/4/5。4和5似乎是方向。3 不知道是什么意思。无论如何,如果这有帮助: