BuildCMD.io
Build commands. Skip the syntax.
iPerf3 testing guide

iPerf3 TCP Throughput & Parallel Streams

Build iPerf3 TCP commands for single-flow and multistream throughput, understand unlimited bitrate defaults, and use optional pacing and output units.

Start with a TCP throughput test

TCP tests measure the throughput achieved by TCP connections under the prevailing endpoint and network conditions. iPerf3 uses TCP by default, so the client command does not need a protocol flag.

Single-stream TCP throughput

iperf3 -c 192.0.2.10 -p 5201 -t 30 -i 1 -f m

Measure aggregate TCP throughput

Parallel streams can reveal aggregate throughput beyond what one TCP flow achieves, while increasing endpoint resource usage. Try a single stream first when single-flow behavior matters, then compare with a small multistream test if you want to observe aggregate performance.

Four parallel TCP streams

iperf3 -c 192.0.2.10 -p 5201 -P 4 -t 30 -i 1 -f m

TCP options explained

OptionPurpose
-c hostRun as a client and connect to the named server.
-P 4Use four parallel test streams.
-t 30Test for 30 seconds.
-i 1Report results every second.
-f mExpress reported bitrate in Mbits/sec.
-b 100MConfigure approximately 100 Mbit/s of send pacing per stream.
-RReverse the test direction so the server sends.

Unlimited versus rate-limited TCP

TCP has no configured iPerf3 bitrate limit by default. For maximum achievable TCP throughput, leave bitrate at Unlimited, which means omitting -b. To deliberately pace a TCP test, specify -b.

TCP with a 100 Mbps per-stream target

iperf3 -c 192.0.2.10 -b 100M -P 4 -t 30 -f m
The -b value is a sending-rate target, not a promise of delivered TCP throughput. With four streams at 100 Mbit/s each, the aggregate configured target is about 400 Mbit/s. Achieved throughput may be lower.

Interpreting TCP results

Compare the sender and receiver summary lines. With parallel streams, iPerf3 also reports per-stream measurements and aggregate [SUM] lines. TCP performance can be affected by congestion control, loss, RTT, receive buffers, sender and receiver CPU capacity, and the test path.