Does --bitrate inadvertently misreport throughput? #1840
-
Hi, I'm trying to understand the behavior when --bitrate is used. The following test was done with two Pi4s with iperf3 V3.18. Server Server listening on 5401 (test #1)Accepted connection from 192.168.200.80, port 37518 [ ID] Interval Transfer Bitrate Client Connecting to host 192.168.200.81, port 5401 [ ID] Interval Transfer Bitrate Retr iperf Done. The rate is reported as 0.00 at times and the test is consistent. As --bitrate K is reduced, 0.00 Bytes 0.00 bits/sec is observed for every second. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi, the default TCP message block size, the Note: it is usually a good practice to set the block size (the Regarding the results you see. Since you set the bitrate limit to 700Kbits, then after sending the first block, the average rate is above the limit and iperf3 will send the next block only when the average rate is less then 700Kbits. That happens in the 2nd interval at about 1.46 seconds (1024/700). At that time the second block is sent. The third block is sent at about 2.92 seconds at the 3rd interval. The third block is sent at about 4.38 at the 5th interval, so this is why nothing was sent in the 4th interval. Next sends are at 5.84 (6th interval), and 7.3 (8th interval which does not happen as it after the test ends), so this is why nothing is sent in the last (7th) interval. |
Beta Was this translation helpful? Give feedback.
Hi, the default TCP message block size, the
-l
value, is 128BK which 1Mbits (you can see the block size used with the-V
option). Every time iperf3 sends a block it is with this size. This is why you see 128KB per some of the intervals.Note: it is usually a good practice to set the block size (the
-l
option) to a value that is similar to the average/normal packet size of the traffic profile in the system. E.g. if the average/normal packet size in the system is about 2KB then it helps to use-l 16K
.Regarding the results you see. Since you set the bitrate limit to 700Kbits, then after sending the first block, the average rate is above the limit and iperf3 will send the next block only whe…