home / networking / iperf3

iperf3

Official · ESnet
8.3k

Network throughput testing CLI for measuring TCP, UDP, and SCTP bandwidth, loss, and jitter between hosts.

$brew install iperf3
Language
C
Stars
8,306
Category
Networking
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

iperf3 is an active network throughput testing CLI that runs as either a client or a server to measure TCP, UDP, or SCTP path performance between two hosts. It is built for bandwidth and transport diagnostics, not passive monitoring.

What It Enables
  • Measure upload or download throughput, transfer rates, retransmits, loss, and jitter between a client and a reachable iperf3 server.
  • Run repeatable TCP, UDP, or SCTP tests with control over duration, bitrate, parallel streams, buffer sizes, reverse mode, and one-off server behavior.
  • Capture client-side and server-side test results for incident response, capacity checks, network tuning, or post-change verification.
Agent Fit
  • The CLI is non-interactive and flag-driven, so it works cleanly in scripts, CI checks, and inspect or verify loops.
  • Real machine-readable output exists: -J emits a full JSON result object, and --json-stream can emit line-delimited JSON during long tests.
  • Best fit for agents that already control both ends of a path or can target an existing test server; it measures network performance but does not discover or fix the underlying cause.
Caveats
  • You need an iperf3 server or another managed endpoint on the far side; it is not a passive local-only inspection tool.
  • iperf3 is not backward compatible with iperf2, so both ends need the iperf3 protocol.