我想测试一些不同的测试用例。我想传输 1MB, 10MB, 100MB, ..., 1GB, ... 并使用 iperf 测量带宽。
在手册中,我可以使用 -l 和 -n 参数的组合。
所以现在我想发送例如 1 MB。我使用 -l 8K (8 KByte(?)) 和 -n 125 发送 1 MByte。或者 -n 125*1000 发送 1 GB。
如果我尝试这个,它会很快!(10 GB 需要 8 秒...)我的计算肯定是错误的。但我不明白我做错了什么。
我想测试一些不同的测试用例。我想传输 1MB, 10MB, 100MB, ..., 1GB, ... 并使用 iperf 测量带宽。
在手册中,我可以使用 -l 和 -n 参数的组合。
所以现在我想发送例如 1 MB。我使用 -l 8K (8 KByte(?)) 和 -n 125 发送 1 MByte。或者 -n 125*1000 发送 1 GB。
如果我尝试这个,它会很快!(10 GB 需要 8 秒...)我的计算肯定是错误的。但我不明白我做错了什么。
-l 选项用于缓冲区,不会影响传输的数据量。
您必须使用客户端专用选项 -n 以千字节或兆字节指定所需的数据量。
所以对于 10GB,使用 -n 10240M
例子:
默认缓冲区大小为 8KB:
iperf -c 10.1.1.1 -n 10240M
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.1.1.2 port 56565 connected with 10.1.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.5 sec 10.0 GBytes 8.20 Gbits/sec
-n 选项的值相同,但 -l 32K
iperf -c 10.1.1.1 -n 10240M -l 32K
------------------------------------------------------------
Client connecting to 10.12.1.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.1.1.2 port 56568 connected with 10.1.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.5 sec 10.0 GBytes 8.17 Gbits/sec