← All projects
Tool 2025

multiperf

Frontend for iperf3 that drives multiple simultaneous client instances to measure aggregate network throughput.

C CMake iperf3 OpenSSL
Context

A single iperf3 run measures one stream between two hosts. Diagnosing real network capacity — multiple clients hitting the same link at once — needs something that can launch and coordinate many iperf3 instances and report the combined result.

Result

multiperf launches and manages N simultaneous iperf3 client instances through a single TCP/UDP proxy, giving one aggregate throughput figure that a lone iperf3 run can't produce — useful for stress-testing links under concurrent load.

Architecture

A C proxy (src/proxy) multiplexes TCP/UDP traffic to iperf3 client instances managed by an instance_manager; configuration comes from TOML (libtomlc) or the command line. Built with CMake, fetching iperf3, OpenSSL, libbacktrace, zlog, and xxHash as dependencies, with clang-format/clang-tidy and pre-commit hooks enforced in CI.

multiperf architecture diagram

Want something similar?

Talk about your project