Korean

iperf3 — Network Analysis and Diagnostics

Latest Tool Guides / Network Analysis and Diagnostics / iperf3.html

Network Analysis and DiagnosticsOriginalRegistered 2026-10-18T23:30:00+09:00

A standard tool for measuring actual network bandwidth between a server and a client.

Basic Information

Program Nameiperf3
One-Line IntroductionA standard tool for measuring actual network bandwidth between a server and a client.
Development & MaintenanceESnet (U.S. Department of Energy Laboratory, Open Source)
Official Homepagehttps://iperf.fr
Official Documentationhttps://iperf.fr/iperf-doc.php
Official Downloadhttps://iperf.fr/download.php
Supported Operating SystemsLinux, macOS, Windows, FreeBSD (Source, Package, Binary)
LicenseBSD-3-Clause (BSD License Variant)
Stable Version3.18.x — Verified on 2026-10-18
GitHub Repositoryhttps://github.com/esnet/iperf
CategoryNetwork Analysis & Diagnostics (Tags: Bandwidth Test, Network Performance, Speed Measurement)

What is this program?

iperf3 is a standard tool for measuring the actual network transfer bandwidth (Mbps/Gbps) between two hosts. One side runs in server mode, the other in client mode, exchanging data for a specified duration to measure average, maximum, latency, and packet loss.

While ping only measures round-trip time, iperf3 measures actual bulk data transfer performance, making it essential for performance verification after line changes, cloud migration, or VPN configuration. It supports both TCP and UDP and allows multi-stream testing.

What problems does it solve?

  • Verifies if the actual bandwidth of a network line meets the promised speed.
  • Measures performance degradation after VPN or cloud VPC connections.
  • Checks for changes in transfer speed after replacing Wi-Fi or wired networks.
  • Provides numerical verification of packet loss rate, latency, and jitter.

Key Features

TCP & UDP Bandwidth Measurement

Measures actual transfer speeds using TCP and UDP protocols.

  • Use Case: Used for line performance verification and post-cloud migration inspection.
  • Results Obtained: Obtains measured bandwidth in Mbps/Gbps units.
  • Limitations: The target link may saturate during measurement, requiring caution during operations.

Multi-Stream

Tests with multiple parallel streams simultaneously to measure maximum bandwidth.

  • Use Case: Used when checking the full capacity of high-bandwidth links.
  • Results Obtained: Can measure higher actual maximum speeds than with a single stream.
  • Limitations: A higher number of streams increases CPU and socket load.

Packet Loss & Jitter Measurement

Measures packet loss rate and jitter during UDP tests.

  • Use Case: Used when predicting the quality of real-time voice/video streaming.
  • Results Obtained: Secures loss rate and jitter figures needed for QoS.
  • Limitations: UDP measurements are affected by QoS settings of network devices.

Reverse Test

Can also measure bandwidth in the client→server direction.

  • Use Case: Used when checking asymmetric upload/download links (cable, ADSL).
  • Results Obtained: Can measure the difference in bidirectional bandwidth.
  • Limitations: Requires opening a port on the server side.

Installation & Execution

Ubuntu / Debian

Install from the distribution repository.

sudo apt update
sudo apt install iperf3

# Verify installation
iperf3 --version

Fedora / RHEL

Install with dnf.

sudo dnf install iperf3

macOS / Homebrew

Install with Homebrew.

brew install iperf3

Practical Usage Examples

Basic Bandwidth Test

Measures download speed between server and client.

# Server side (Run on the target server)
iperf3 -s

# Client side (Test for 10 seconds)
iperf3 -c server_IP -t 10

# Result: Average, maximum, latency, retransmissions

UDP Test & Loss Rate Check

Sends traffic at a specified bandwidth via UDP to measure loss rate.

# UDP 100Mbps test
iperf3 -c server_IP -u -b 100M -t 10

# Result: Check loss rate (%), jitter (ms), datagram count

Simultaneous Download & Upload Measurement

Checks bidirectional bandwidth at once.

# Upload test (Client → Server)
iperf3 -c server_IP --reverse -t 10

# Measure max bandwidth with 4 multi-streams
iperf3 -c server_IP -P 4 -t 10