When a portable iPerf3 server endpoint is useful
A portable iPerf3 server saves real time during site survey work. You're at a customer location with no VPN tunnel, no spare Linux box, and the customer's IT desk wants proof that throughput across the new switch reaches 1 Gb/s. Pulling out an iPhone, starting a server on port 5201, and asking the customer engineer to run `iperf3 -c` from a workstation takes under a minute. The same flow works for bridged-mode access points, dual-NIC laptops, and any situation where both ends of the test sit inside the same LAN — no NAT traversal, no firewall rules to negotiate, no infrastructure to spin up.
Setting up the server mode safely on iOS
iOS requires Local Network privacy permission before an app can listen for inbound connections. Grant it on first launch — without it, server mode silently fails to accept clients. Pick a port above 1024 to avoid conflicts with system services; 5201 is the iperf3 default and is rarely taken. If you switch between Wi-Fi and USB tethering during testing, restart the server so it rebinds to the new interface. Multiple listeners on the same port are not allowed; if Server mode reports 'address in use', another process or another iPerf3 instance is already bound.
UDP server tuning notes
UDP iPerf3 tests require the client to specify bandwidth via `-b`. The server reports per-second throughput plus jitter and packet loss; client-side numbers are 'sent' values, server-side numbers are 'received' values, and the gap between them is the network's loss budget. Watch out for 'no datagrams received' messages on the server side — that usually means a firewall between client and server is dropping UDP. For 1 Gb/s or higher links, set `-b 1G` on the client and review the server's jitter line: anything above 5 ms on a wired LAN suggests congestion or buffer issues rather than the server itself.