Measure the maximum throughput of a network link between two servers before deploying a streaming application
Diagnose network performance issues by running TCP and UDP bandwidth tests between machines
Benchmark a cloud or datacenter network connection to validate it meets expected performance
Both machines need iperf3 installed, building from source uses the standard configure and make steps.
iperf3 is a command-line tool for measuring how fast data can be transferred across a network. You run it on two machines: one acts as the server and waits for connections, the other acts as the client and sends data. After the test finishes, it reports the actual throughput (how much data moved per second), packet loss, and related statistics. This helps network administrators and engineers understand whether a network link is performing as expected or whether something is limiting its speed. The tool supports three network protocols: TCP, which is the standard reliable protocol used by most internet traffic, UDP, which sacrifices reliability for speed and is used in video streaming and gaming, and SCTP, a less common protocol designed for reliability and multi-homing. Various parameters can be tuned, such as buffer sizes and test duration. Results can optionally be output as JSON, which makes it easier to feed into scripts or monitoring systems. iperf3 was built from scratch as a cleaner rewrite of the original iperf tool and is not compatible with it. It is developed primarily at ESnet and Lawrence Berkeley National Laboratory, and is used as a component in perfSONAR, a network measurement platform used by research and education networks worldwide. It also appears in various commercial networking products. Building it from source follows a standard configure, make, make install pattern. It runs on Linux, FreeBSD, and macOS, with community reports of success on Android and other platforms. The BSD license allows it to be used and redistributed freely, including in commercial settings.
← esnet on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.