# Iperf3

Iperf3 is a lightweight container that runs the iperf3 bandwidth measurement tool for testing TCP, UDP, and SCTP throughput between network endpoints. It is open source and self-hosted, installable on Proxmox, Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/363/iperf3

## Description

Iperf3 is a lightweight container that runs the iperf3 bandwidth measurement tool for testing TCP, UDP, and SCTP throughput between network endpoints. It starts as a server on port 5201 by default, or as a client when configured with client arguments. Use it to benchmark home network links or verify capacity between any two machines.

## Platform availability

Available on 2 of 9 platforms: Unraid, Proxmox.

## Health score

77/100 (Good), based on 4 of 5 factors.
- Maintained: 95 (last commit 22 days ago)
- Popular: 79 (8,800 GitHub stars)
- Easy to install: 35 (1 install platform, install notes, Docker image)
- Security check: 80 (no serious findings, CI, tests, OpenSSF Scorecard 5.8/10)

## Links

- GitHub: https://github.com/esnet/iperf
- Proxmox: https://community-scripts.github.io/ProxmoxVE/scripts/iperf3
- Docker Hub: https://hub.docker.com/r/networkstatic/iperf3
- Unraid: https://ca.unraid.net/apps/iperf3-1chgmam0xaeax6?q=iperf3
- Official website: https://iperf.fr/
- Documentation: https://iperf.fr/iperf-doc.php

## Common questions

### Can the iperf3 server handle more than one client at the same time?

No, an iperf3 server accepts a single client simultaneously. You can create multiple parallel streams in one test with the -P option.

### How can I reduce CPU usage during a bandwidth test?

Use the -Z or --zerocopy option to send data with sendfile(), which uses much less CPU. On Linux and FreeBSD you can also set CPU affinity with -A.

### Can I get machine-readable results from iperf3?

Yes, use the -J or --json option to output the results in JSON format.

### Can I run the test in reverse so the server sends data?

Yes, use the -R or --reverse test mode so the server sends and the client receives.

### Can I bind the iperf3 server to a specific network interface?

Yes, use the -B option to bind to specific interfaces.

### Why might iperf3 results differ between Windows and Linux?

The results can differ because of different parameters and adapter or test-rig setup. Aligning those settings can help make the measurements comparable.

## Alternatives

- DoHSpeedTest: An intuitive web tool for real-time testing of DNS over HTTPS (DoH) server speeds directly in your browser, designed to enhance and optimiz…
- SmokePing: Smokeping is an open-source network latency and availability monitor that pings a configured list of hosts to continuously graph response t…
- Speedtest by Ookla: Measures download, upload, and ping speeds; offers global server testing, real-time connection graphs, VPN options, carrier coverage maps,…
- Tessabyte: An advanced network throughput testing utility for LAN, WLAN, and WAN: TCP/UDP, QoS, custom payloads, reporting, and scheduling.
- mtr: mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.

---
Source: Our Local Host (https://ourlocalhost.com/app/363/iperf3), the self-hosted and open-source app directory.
