iperf, Iperf, or iPerf, is a tool for
network performance
Network performance refers to measures of service quality of a network as seen by the customer.
There are many different ways to measure the performance of a network, as each network is different in nature and design. Performance can also be mod ...
measurement and tuning. It is a
cross-platform tool that can produce standardized performance measurements for any network. iperf has
client and
server functionality, and can create
data stream
In connection-oriented communication, a data stream is the transmission of a sequence of digitally encoded signals to convey information. Typically, the transmitted symbols are grouped into a series of packets.
Data streaming has become u ...
s to measure the
throughput
Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel in a communication network, such as Ethernet or packet radio. The data that these messages contain may be delivered ov ...
between the two ends in one or both directions. Typical iperf output contains a time-stamped report of the amount of data transferred and the throughput measured.
The data streams can be either
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP) or
User Datagram Protocol
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
(UDP):
* ''UDP'': When used for testing UDP capacity, iperf allows the user to specify the
datagram
A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The de ...
size and provides results for the datagram throughput and the
packet loss.
* ''TCP'': When used for testing TCP capacity, iperf measures the throughput of the payload. iperf uses 1024 × 1024 for
mebibyte
The byte is a units of information, unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character (computing), character of text in a computer and for this ...
s and 1000 × 1000 for
megabyte
The megabyte is a multiple of the unit byte for digital information. Its recommended unit symbol is MB. The unit prefix ''mega'' is a multiplier of (106) in the International System of Units (SI). Therefore, one megabyte is one million bytes ...
s.
iperf is
open-source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
written in
C, and it runs on various platforms including
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
(either natively or inside
Cygwin
Cygwin ( ) is a free and open-source Unix-like environment and command-line interface (CLI) for Microsoft Windows. The project also provides a software repository containing open-source packages. Cygwin allows source code for Unix-like operati ...
). The availability of the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
enables the user to scrutinize the measurement methodology.
iperf is a compatible reimplementation of the
ttcp program that was developed at the
National Center for Supercomputing Applications
The National Center for Supercomputing Applications (NCSA) is a unit of the University of Illinois Urbana-Champaign, and provides high-performance computing resources to researchers in the United States. NCSA is currently led by Professor Bill ...
at the
University of Illinois
The University of Illinois Urbana-Champaign (UIUC, U of I, Illinois, or University of Illinois) is a public university, public land-grant university, land-grant research university in the Champaign–Urbana metropolitan area, Illinois, United ...
by the Distributed Applications Support Team (DAST) of the National Laboratory for Applied Network Research (NLANR), which was shut down on December 31, 2006, on termination of funding by the United States
National Science Foundation
The U.S. National Science Foundation (NSF) is an Independent agencies of the United States government#Examples of independent agencies, independent agency of the Federal government of the United States, United States federal government that su ...
.
iperf3
iperf3 is a rewrite of iperf from scratch to create a smaller, simpler code base. iperf3 was started in 2009, with the first release in January 2014. iperf3 is not
backwards compatible with iperf2. iperf3 also includes a library version which enables other programs to use the provided functionality. iperf3 is single threaded while iperf2 is multi-threaded.
Officially iperf3 supports only Linux. Unofficial builds for Windows provided by Vivien Guéant. A user of
Neowin, BudMan, provides unofficial Windows builds on his server.
Most current Linux distributions have iperf3 in their native package repositories. Unix packages are available from Oracle for Solaris 11.4.
See also
*
Netperf
*
Nuttcp
*
NetPIPE
*
bwping
*
Flowgrind
*
Measuring network throughput
*
Packet generation model
References
External links
Iperf 2 & Iperf 3 Comparison Table*
* {{cite web
, url=http://www.enterprisenetworkingplanet.com/netos/article.php/3657236/Measure-Network-Performance-with-iperf.htm
, title=Measure Network Performance with iperf
, first=Carla
, last=Schroder
, date=2007-01-31
Network performance
Software using the BSD license
Free software programmed in C