Iperf 2 & Iperf 3

Comparison Table 

(as of June 2022)

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 (as of mid-2021)


Here is a chart that shows the differences between the two programs

Feature

Iperf 2

Iperf 3

Traffic types

TCP traffic

Y

Y

UDP traffic

Y

Y

SCTP traffic

N

Y

IPv4

Y

Y

IPv6

Y

Y

Multicast traffic (including SSM)

Y

N

TCP connect only

Y

N

Layer 2 checks

Y

N

Output options

Human format

Y

Y

JSON output

N

Y

CSV (basic only)

Y

N

Hide IP addresses in output (v4 only)

Y

N

Client side server reports

N

Y

Traffic profiles

Fair queue rate limiting

Y

Y

Write rate limiting

Y

Y

Read rate limiting (TCP)

Y

N

Bursts

Y

Y

Isochronous (video) TCP/UDP

Y

N

Reverse roles

Y

Y

Bidirectional traffic

Y

Y

Full duplex same socket

Y

N

TCP bounceback w/optional working load(s)

Y

N

Low duty cycle traffic with server side stats

Y

N

TCP_NOTSENT_LOWAT with select() (using the --tcp-write-prefetch option)

Y

N

TCP near congestion (experimental)

Y

N

Metrics

Throughput

Y

Y

Responsiveness per second (RPS)

Y

N

UDP packets (total/lost)

Y

Y

UDP Jitter

Y

Y

Packet latencies UDP

Y

N

Frame/burst latencies TCP/UDP

Y

N

Write-to-read latencies TCP

Y

N

Network power (latency/throughput)

Y

N

InP - Bytes in queues (Little’s law)

Y

N

TCP CWND

Y

N

TCP retries

Y

Y

TCP RTT

Y

Y

Send side write delay histograms

Y

N

UDP packets per second

Y

N

Latency histograms

Y

N

TCP connect times

Y

N

TCP response per interval

Y

N

Sum only output

Y

N

Other

Multi-threaded design

Y

N

Parallel -P technique

Threads

Processes

Real-time scheduling

Y

N

-t support for server

Y

N

TAP virtual interface support (receive only) via --tap-dev

Y

N

CPU affinity

N

Y

Zero copy

N

Y

IPv6 Flow label

N

Y

--omit option (skip first samples per time in seconds)

N

Y

Incr dst ip option with -P

Y

N

Incr dst ip option with -P

Y

N

Incr dst port option with -P

Y

N

Incr src port option with -P

Y

N

Device or interface binding

Y

Y

Source port binding

Y

N

Scheduled tx start time

Y

N

Delay tx start time

Y

N

User password

N

Y

Permit keys

Y (TCP only)

N

UDP stateless

Y

N

Python framework (asyncio)

Y (flows)

N

Testing WiFi thru 100G

Y

N/A

Scaling to 1000+ threads

Y

N/A