Generated by GPT-5-mini| iperf3 | |
|---|---|
| Name | iperf3 |
| Developer | ESnet, NLR (United States), University of California, Berkeley |
| Released | 2014 |
| Latest release | 3.x |
| Operating system | Linux, FreeBSD, Windows, macOS |
| License | BSD license |
iperf3 iperf3 is a network performance measurement tool created to generate and measure TCP, UDP and SCTP traffic for benchmarking and troubleshooting. It is widely used by researchers, system administrators and network engineers associated with institutions like ESnet, National Science Foundation, Internet2 and laboratories such as Lawrence Berkeley National Laboratory for validating link capacity, tuning congestion control algorithms and reproducing performance scenarios. The project’s codebase, command syntax and output format have influenced test suites in academic projects, industry Cisco Systems, Juniper Networks and cloud providers including Amazon Web Services and Google Cloud Platform.
iperf3 is a single-threaded, client–server application developed as a rewrite of earlier tools to provide a stable, script-friendly interface for controlled throughput tests. Its design emphasizes deterministic behavior for use in PEARC (conference), Supercomputing Conference, ACM SIGCOMM evaluations and laboratory settings such as National Laboratory testbeds. Implementations are packaged by distributions like Debian, Ubuntu, Red Hat Enterprise Linux and ports exist for OpenBSD, NetBSD and embedded platforms. The tool is referenced in technical documentation from IETF working groups and cited in performance studies by research groups at Stanford University and Massachusetts Institute of Technology.
iperf3 supports bidirectional tests, configurable parallel streams, and selectable protocols including TCP, UDP and experimental support for SCTP. It reports metrics such as throughput, packet loss, jitter and retransmissions that are used in analyses at institutions like Lawrence Livermore National Laboratory, Oak Ridge National Laboratory and Sandia National Laboratories. Advanced features include JSON-formatted output for machine parsing (useful in Nagios, Zabbix and Prometheus integrations), reverse testing for symmetric path analysis (adopted in toolchains alongside iperf2 alternatives), and options for setting socket buffer sizes and CPU affinity relevant to studies at Carnegie Mellon University and Georgia Institute of Technology. The project includes options to bind to specific addresses and ports to interoperate with firewalls from vendors such as Fortinet and Palo Alto Networks.
Typical usage involves running a server process on one host and a client on another; examples are common in training material from Cisco Networking Academy and university networking courses at University of Washington and University of California, Los Angeles. Common command patterns are used in automation frameworks like Ansible and Puppet to audit network links in data centers operated by Facebook, Microsoft and IBM. Example scenarios include: measuring core link capacity between nodes in GENI testbeds, validating WAN performance for Azure deployments, and characterizing mobile network backhaul in collaboration with Nokia and Ericsson. Output parsing of JSON allows integration with visualization systems such as Grafana and reporting in papers presented at USENIX and IEEE INFOCOM.
iperf3 employs a client–server model over TCP for control messages and negotiates test parameters before data transfers, with UDP used for loss and jitter measurements. Its implementation in C uses POSIX sockets and can leverage OS features in kernels like the Linux kernel to set TCP options (for example, window scaling and congestion control selection used in TCP CUBIC and TCP BBR evaluations). The project’s network interactions are consistent with socket APIs documented by organizations like The Open Group and interoperability testing is performed against network stacks in FreeBSD and Windows Server. The test harness is deterministic to support reproducible experiments in benchmarking suites at NCSA and in collaborative efforts with standards bodies such as IETF.
iperf3 reports throughput in bits per second, jitter in milliseconds, packet loss percentage and retransmission counts; these metrics inform capacity planning at enterprises like AT&T and Verizon and research at telecommunications groups like 3GPP. Limitations include single-threaded server behavior that can underutilize multicore hosts in high-concurrency scenarios—an aspect contrasted with multithreaded tools used in Seaborn-style studies—and sensitivity to cross-traffic, kernel offload features (such as TOE), and NIC capabilities from vendors like Intel Corporation and Broadcom. Tests must account for middleboxes (for example, devices from F5 Networks and Citrix Systems) that may alter TCP behavior; researchers at ETH Zurich and University College London document methodology to mitigate these effects.
iperf3 is maintained by contributors from ESnet and the open-source community, with collaboration from researchers at LBNL and network operators at Internet2. The code is released under a permissive BSD-style license, permitting redistribution and use in both academic projects at Cornell University and commercial products by companies such as Netgear and Arista Networks. Development activity and issue tracking occur on public repositories and mailing lists used by projects like Netperf and perfSONAR; contributions follow guidelines similar to those in other open-source communities like OpenStack and Apache Software Foundation projects.
Category:Network performance tools