Iperf 2 & Iperf 3 Comparison Table

(as of iperf 2.2.2)

IPerf 2 (this program) is different from the iperf3 found at https://github.com/esnet/iperf. Each can be used to measure network performance, however, they DO NOT interoperate. They are completely independent implementations with different strengths, different options, and different capabilities. Both are under active development.

FeatureIperf 2Iperf 3
Traffic types
TCP trafficYY
UDP trafficYY
SCTP trafficNY
IPv4YY
IPv6YY
Multicast traffic (including SSM)YN
TCP connect onlyYN
Layer 2 checksYN
Output options
Human formatYY
JSON outputNY
CSV (basic only)YN
Hide IP addresses in output (v4 only)YN
Client side server reportsYY
Traffic profiles
Fair queue rate limitingYY
Write rate limitingYY
Read rate limiting (TCP)YN
BurstsYY
Isochronous (video) TCP/UDPYN
Reverse rolesYY
Bidirectional trafficYY
Full duplex same socketYN
TCP bounceback w/optional working load(s)YN
Low duty cycle traffic with server side statsYN
TCP_NOTSENT_LOWAT with select() (--tcp-write-prefetch)YN
TCP near congestion / L4S (ECN, DualPI2 awareness)Y (--udp-l4s, --near-congestion)N
UDP L4S support with ECN CE marking statsY (--udp-l4s)N
Concurrent TCP working load(s) alongside UDP/bounceback trafficY (--working-load)N
Peer version detectionY (-X)N
TCP congestion control algorithm selectionY (-Z/--tcp-cca)Y (-C)
Variable/random packet length distributions (Markov chain)YN
Simulated network delay per flow (TCP_TX_DELAY/SO_TXTIME)Y (--send-delay)N
Port range support (-p m-n)YN
Batched UDP syscalls (sendmmsg/recvmmsg)YN
Metrics
ThroughputYY
Responsiveness per second (RPS)YN
UDP packets (total/lost)YY
UDP JitterYY
Packet latencies UDPYN
Frame/burst latencies TCP/UDPYN
Write-to-read latencies TCPYN
Network power (latency/throughput)YN
InP - Bytes in queues (Little's law)YN
TCP CWNDYN
TCP retriesYY
TCP RTTYY
Send side write delay histogramsYN
UDP packets per secondYN
Latency histogramsYN
TCP connect timesYN
TCP response per intervalYN
Sum only outputYN
ECN CE mark counts (received CE-marked packets)Y (--udp-l4s)N
Other
Multi-threaded designYN
Parallel -P techniqueThreadsProcesses
Real-time schedulingYN
-t support for serverYN
TAP virtual interface support (receive only) via --tap-devYN
CPU affinityNY
Zero copyNY
IPv6 Flow labelNY
--omit option (skip first samples per time in seconds)YY
Incr dst ip option with -PYN
Incr dst port option with -PYN
Incr src port option with -PYN
Device or interface bindingYY
Source port bindingYY
MPTCP supportNY
Scheduled tx start timeYN
Delay tx start timeYN
User passwordNY
Permit keysY (TCP only)N
UDP statelessYN
Python framework (asyncio)Y (flows)N
Testing WiFi thru 100GYN/A
Scaling to 1000+ threadsYN/A