Note that the values for each measurement interval are taken from the point of view of the endpoint process emitting that output (in other words, the output on the client shows the measurement interval data for the client.Īt the end of the test is a set of statistics that shows (at least as much as possible) a summary of the test as seen by both the sender and the receiver, with lines tagged accordingly. Each line of output includes (at least) the time since the start of the test, amount of data transferred during the interval, and the average bitrate over that interval. There will be at least one line of output per measurement interval (by default a measurement interval lasts for one second, but this can be changed by the -i option). Results are displayed on both the client and server.
This causes data to be sent from the server to the client.
Measuring the download speed from the server can be done by specifying the -R flag on the client. Normally, the test data is sent from the client to the server, and measures the upload speed of the client. The actual test data is sent over a separate TCP connection, as a separate flow of UDP packets, or as an independent SCTP connection, depending on what protocol was specified by the client. This is sometimes referred to as the "control connection". The initial TCP connection is used to exchange test parameters, control the start and end of the test, and to exchange test results. If the iperf3 server is running on a non-default TCP port, that port number needs to be specified on the client as well:
The host can by specified by hostname, IPv4 literal, or IPv6 literal: The client mode can be started using the -c command-line option, which also requires a host to which iperf3 should connect. A custom port can be specified by using the -p flag, for example:Īfter the server is started, it will listen for connections from iperf3 clients (in other words, the iperf3 program run in client mode). In this section we will generally use the short form of command-line flags, unless only the long form of a flag is available.īy default, the iperf3 server listens on TCP port 5201 for connections from an iperf3 client. Note that many iperf3 parameters have both short ( -s) and long ( -server) forms. An iperf3 server can be started using either of the -s or -server command-line parameters, for example: The iperf3 executable contains both client and server functionality. To perform an iperf3 test the user must establish both a server and a client. It can test TCP, UDP, or SCTP throughput. Iperf3 is a tool for performing network throughput measurements. Server sends data to the client: iperf3 -c server -R Run iperf3 in multiple parallel streams: iperf3 -c server -P streams.Run an iperf3 server on a specific port: iperf3 -s -p port.
Perform network throughput tests Examples (TL DR)