Hi,

Some might find the new --trip-times option in iperf 2.0.14 useful. It uses little's law to compute the effective end/end queue size. The calculation is the queue size = send rate * write2read latency. It's under the inP column. Note that the client and server clocks must be synchronized for this option to work.

An example:

[root@localhost iperf2-code]# src/iperf -s -i 1 -w 4M
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 MByte (WARNING: requested 4.00 MByte)
------------------------------------------------------------
[  4] local 192.168.1.4 port 5001 connected with 192.168.1.1 port 43158 (WARN: winsize=8.00 MByte req=4.00 MByte) (trip-times) (1580858380.423534)
[ ID] Interval        Transfer    Bandwidth       Reads   Dist(bin=16.0K)     Burst Latency avg/min/max/stdev (cnt/size) inP NetPwr
[  4] 0.00-1.00 sec  38.8 MBytes   326 Mbits/sec  1174    346:223:215:303:74:7:6:0    47.585/ 7.006/119.725/17.335 ms (310/131397) 1.92 MByte 856.01
[  4] 1.00-2.00 sec  40.9 MBytes   343 Mbits/sec  1234    345:268:214:312:74:12:9:0    47.583/ 7.730/67.730/11.787 ms (328/130858) 1.96 MByte 902.05
[  4] 2.00-3.00 sec  41.2 MBytes   346 Mbits/sec  1250    380:232:204:324:93:11:5:1    43.227/ 7.440/65.904/13.816 ms (330/131066) 1.78 MByte 1000.57
[  4] 3.00-4.00 sec  41.3 MBytes   347 Mbits/sec  1249    384:226:218:322:85:8:5:1    44.932/ 6.927/66.840/12.453 ms (330/131310) 1.87 MByte 964.40
[  4] 4.00-5.00 sec  41.0 MBytes   344 Mbits/sec  1240    344:257:243:296:86:6:7:1    44.778/ 5.779/66.241/13.478 ms (328/131140) 1.83 MByte 960.60
[  4] 5.00-6.00 sec  41.2 MBytes   345 Mbits/sec  1244    379:228:226:319:72:11:7:2    47.515/ 6.943/66.759/11.371 ms (330/130808) 1.97 MByte 908.49
[  4] 6.00-7.00 sec  41.4 MBytes   348 Mbits/sec  1250    361:246:236:308:81:12:5:1    46.300/ 5.783/66.702/12.341 ms (331/131264) 1.92 MByte 938.42
[  4] 7.00-8.00 sec  41.4 MBytes   347 Mbits/sec  1254    366:254:230:293:92:12:7:0    45.072/ 8.689/66.511/12.084 ms (331/131054) 1.86 MByte 962.44
[  4] 8.00-9.00 sec  41.3 MBytes   346 Mbits/sec  1269    370:263:223:328:76:7:2:0    48.664/12.814/67.439/10.563 ms (330/131136) 2.04 MByte 889.26
[  4] 9.00-10.00 sec  41.3 MBytes   347 Mbits/sec  1262    386:234:231:310:86:9:6:0    48.086/ 8.675/66.493/11.122 ms (331/130971) 1.91 MByte 901.54
[  4] 10.00-10.03 sec   937 KBytes   295 Mbits/sec  28    7:6:9:4:2:0:0:0    37.819/21.810/48.450/ 7.850 ms (8/119946) 89.9 MByte 976.33
[  4] 0.00-10.03 sec   411 MBytes   344 Mbits/sec  12454    3668:2437:2249:3119:821:95:59:6    46.203/48.450/48.450/ 0.000 ms (3287/131072) 1.90 MByte 930.07


[root@localhost iperf2-code]# src/iperf -c 192.168.1.4 -w 4M -i 1 -e --trip-times
------------------------------------------------------------
Client connecting to 192.168.1.4, TCP port 5001 with pid 32598
Write buffer size:  128 KByte
TCP window size: 8.00 MByte (WARNING: requested 4.00 MByte)
------------------------------------------------------------
[  3] local 192.168.1.1 port 43158 connected with 192.168.1.4 port 5001 (WARN: winsize=8.00 MByte req=4.00 MByte) (trip-times) (ct=3.49 ms)
[ ID] Interval        Transfer    Bandwidth       Write/Err  Rtry     Cwnd/RTT        NetPwr
[  3] 0.00-1.00 sec  41.0 MBytes   344 Mbits/sec  328/0          0     5179K/26872 us  1599.87
[  3] 1.00-2.00 sec  40.9 MBytes   343 Mbits/sec  327/0          0     5179K/30661 us  1397.88
[  3] 2.00-3.00 sec  40.8 MBytes   342 Mbits/sec  326/0          0     5462K/23347 us  1830.19
[  3] 3.00-4.00 sec  41.8 MBytes   350 Mbits/sec  334/0          0     5462K/20827 us  2101.99
[  3] 4.00-5.00 sec  40.8 MBytes   342 Mbits/sec  326/0          0     5462K/23358 us  1829.33
[  3] 5.00-6.00 sec  40.9 MBytes   343 Mbits/sec  327/0          0     5462K/20509 us  2089.84
[  3] 6.00-7.00 sec  41.5 MBytes   348 Mbits/sec  332/0          0     5462K/19378 us  2245.63
[  3] 7.00-8.00 sec  42.1 MBytes   353 Mbits/sec  337/0          0     5462K/23068 us  1914.83
[  3] 8.00-9.00 sec  41.2 MBytes   346 Mbits/sec  330/0          0     5462K/23057 us  1875.95
[  3] 9.00-10.00 sec  39.9 MBytes   334 Mbits/sec  319/0          0     5462K/6923 us  6039.57
[  3] 0.00-10.02 sec   411 MBytes   344 Mbits/sec  3288/1          0       NA/0 us  0.00

Here's an example where the reads are rate limited to congest the end/end pipe

[root@localhost iperf2-code]# src/iperf -s -i 1 -w 4M -b 300m
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 MByte (WARNING: requested 4.00 MByte)
------------------------------------------------------------
[  4] local 192.168.1.4 port 5001 connected with 192.168.1.1 port 43162 (WARN: winsize=8.00 MByte req=4.00 MByte) (trip-times) (1580858757.457579)
[ ID] Interval        Transfer    Bandwidth       Reads   Dist(bin=16.0K)     Burst Latency avg/min/max/stdev (cnt/size) inP NetPwr
[  4] 0.00-1.00 sec  35.8 MBytes   300 Mbits/sec  734    178:122:118:149:29:6:4:128    66.196/11.050/127.404/25.372 ms (286/131072) 2.71 MByte 566.29
[  4] 1.00-2.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    161.396/104.023/187.104/18.337 ms (286/131072) 6.13 MByte 232.27
[  4] 2.00-3.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    172.448/149.679/187.410/ 8.933 ms (286/131072) 6.11 MByte 217.38
[  4] 3.00-4.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    170.794/145.354/187.129/ 9.532 ms (286/131072) 6.12 MByte 219.48
[  4] 4.00-5.00 sec  35.9 MBytes   301 Mbits/sec  287    0:0:0:0:0:0:0:287    167.554/119.285/187.002/12.842 ms (287/131072) 5.97 MByte 224.51
[  4] 5.00-6.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    168.277/129.686/186.839/11.908 ms (286/131072) 6.07 MByte 222.77
[  4] 6.00-7.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    164.621/118.836/188.298/14.838 ms (286/131072) 5.73 MByte 227.71
[  4] 7.00-8.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    166.965/126.764/187.960/13.069 ms (286/131072) 5.94 MByte 224.52
[  4] 8.00-9.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    169.325/131.557/189.220/11.436 ms (286/131072) 6.11 MByte 221.39
[  4] 9.00-10.00 sec  35.8 MBytes   300 Mbits/sec  286    0:0:0:0:0:0:0:286    169.883/134.273/188.687/10.671 ms (286/131072) 6.15 MByte 220.66
[  4] 10.00-10.17 sec  6.12 MBytes   297 Mbits/sec  49    0:0:0:0:0:0:0:49    153.230/121.217/175.104/13.653 ms (49/131072) 5.58 MByte 242.67
[  4] 0.00-10.17 sec   364 MBytes   300 Mbits/sec  3358    178:122:118:149:29:6:4:2752    157.102/175.104/175.104/ 0.000 ms (2910/131072) 5.72 MByte 238.66

[root@localhost iperf2-code]# src/iperf -c 192.168.1.4 -w 4M -i 1 -e --trip-times
------------------------------------------------------------
Client connecting to 192.168.1.4, TCP port 5001 with pid 32618
Write buffer size:  128 KByte
TCP window size: 8.00 MByte (WARNING: requested 4.00 MByte)
------------------------------------------------------------
[  3] local 192.168.1.1 port 43162 connected with 192.168.1.4 port 5001 (WARN: winsize=8.00 MByte req=4.00 MByte) (trip-times) (ct=3.29 ms)
[ ID] Interval        Transfer    Bandwidth       Write/Err  Rtry     Cwnd/RTT        NetPwr
[  3] 0.00-1.00 sec  40.6 MBytes   341 Mbits/sec  325/0          0     4233K/26435 us  1611.44
[  3] 1.00-2.00 sec  36.5 MBytes   306 Mbits/sec  292/0          0     4233K/15386 us  2487.52
[  3] 2.00-3.00 sec  36.0 MBytes   302 Mbits/sec  288/0          0     4233K/15064 us  2505.89
[  3] 3.00-4.00 sec  36.4 MBytes   305 Mbits/sec  291/0          0     4233K/17723 us  2152.12
[  3] 4.00-5.00 sec  35.0 MBytes   294 Mbits/sec  280/0          0     4233K/15435 us  2377.72
[  3] 5.00-6.00 sec  36.4 MBytes   305 Mbits/sec  291/0          0     4233K/14964 us  2548.91
[  3] 6.00-7.00 sec  35.6 MBytes   299 Mbits/sec  285/0          0     4233K/15145 us  2466.52
[  3] 7.00-8.00 sec  35.1 MBytes   295 Mbits/sec  281/0          0     4233K/16909 us  2178.20
[  3] 8.00-9.00 sec  35.8 MBytes   300 Mbits/sec  286/0          0     4233K/17094 us  2192.97
[  3] 9.00-10.00 sec  36.2 MBytes   304 Mbits/sec  290/0          0     4233K/19964 us  1903.97
[  3] 0.00-10.03 sec   364 MBytes   304 Mbits/sec  2911/1          0       NA/0 us  0.00

Bob