Build your server
Rated excellent

iPerf3 - Measuring Network Bandwidth

iPerf3 - Measuring Network Bandwidth 20 September 2023

The iPerf3 utility allows you to measure the maximum network bandwidth between two network nodes. It can utilize various timing parameters, protocols, streams, and more. This is a cross-platform client-server program and it's free to use.

It has the capability to generate different types of traffic for network bandwidth analysis. Multi-threading is supported through client-side parameters. By default, the test is performed from the client to the server. To perform a reverse test from the server to the client, use the -R flag.

You can download it here:

C:\Distr\iperf-3.1.3-win64\iperf-3.1.3-win64>iperf3.exe /?
iperf3: parameter error - must either be a client (-c) or server (-s)
Usage: iperf [-s|-c host] [options]
            iperf [-h|--help] [-v|--version]

Server or Client:

-p, --port # server port to listen on/connect to

-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes

-i, --interval # seconds between periodic bandwidth reports

-F, --file name xmit/recv the specified file

-B, --bind <host> bind to a specific interface

-V, --verbose more detailed output

-J, --json output in JSON format

--logfile file send output to a log file

-d, --debug emit debugging output

-v, --version show version information and quit

-h, --help show this message and quit

Server specific:

-s, --server run in server mode

-D, --daemon run the server as a daemon

-I, --pidfile file write PID file

-1, --one-off handle one client connection then exit

Client specific:

-c, --client <host> run in client mode, connecting to <host>

-u, --udp use UDP rather than TCP

-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited) (default 1 Mbit/sec for UDP, unlimited for TCP) (optional slash and packet count for burst mode)

-t, --time # time in seconds to transmit for (default 10 secs)

-n, --bytes #[KMG] number of bytes to transmit (instead of -t)

-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of - t or -n)

-l, --len #[KMG] length of buffer to read or write (default 128 KB for TCP, 8 KB for UDP)

--cport <port> bind to a specific client port (TCP and UDP, default : ephemeral port)

-P, --parallel # number of parallel client streams to run

-R, --reverse run in reverse mode (server sends, client receives)

-w, --window #[KMG] set window size / socket buffer size

-M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes)

-N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm

-4, --version4 only use IPv4

-6, --version6 only use IPv6

-S, --tos # set the IP 'type of service'

-Z, --zerocopy use a 'zero copy' method of sending data

-O, --omit # omit the first n seconds

-T, --title str prefix every output line with this string --get-server-output get results from server 

--udp-counters-64bit use 64-bit counters in UDP test packets 

[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga- 

iPerf3 homepage at: 

Report bugs to:

Example of Usage:

On the server, run: iperf3.exe -s

iPerf3 - Measuring Network Bandwidth

On the client, run:

iperf3.exe -с -P 5 -R - The IP address of the server.

-P 5 - Five threads.

-R - Reverse transmission from server to client.

iPerf3 - Measuring Network Bandwidth


iPerf3 - Measuring Network Bandwidth