Skip to content

Benchmarks

Automated benchmark results from CI.
Environment: Proxmox VM, i9-13900H, 4 vCPU (pinned), Ubuntu 24.04.

Per-commit Results

Benchmarks run on every push to main.

Hybrid TCP-lane aggregation (v0.9.0)

Symmetric 2×100 Mbit / 25 ms, TCP uplink, iperf3 -P {1,2,4,8,16}, 3 reps.

The hybrid TCP stream lane terminates TCP at the client and relays it in-order over a QUIC STREAM, so even a single flow aggregates both paths — reaching ~187 Mbps (≈93 % of the 200 Mbps aggregate) at every stream count. Raw multipath (datagram tunneling) instead makes a single flow back off on cross-path reorder, so it only catches up as parallel streams grow (WLB -P 1: 96 → 187 Mbps, +95 %).

Hybrid TCP-lane — MinRTT scheduler

Hybrid TCP-lane — WLB scheduler

Asymmetric paths — same bench on A = 300 Mbit / 10 ms + B = 80 Mbit / 30 ms (380 Mbps aggregate). Hybrid ON saturates the aggregate on asymmetric paths too — 350–357 Mbps (≈93 % of 380 Mbps) at -P ≥ 2. Raw multipath never fully recovers here: with WLB the cross-path reorder penalty (20 ms vs 60 ms RTT legs) caps it at 330 Mbps even at 16 streams, and MinRTT keeps everything on the fast path (~275 Mbps) since it only spills when cwnd-blocked. Unlike the symmetric case, the lane's gain therefore persists at every stream count: MinRTT +29–35 %, WLB +26 % (-P 1) → +7 % (-P 16).

Hybrid TCP-lane, asymmetric paths — MinRTT scheduler

Hybrid TCP-lane, asymmetric paths — WLB scheduler

SRT live streaming

SRT contribution feeds over emulated impaired links (netns). mqvpn defaults (WLB scheduler, BBR v2) + SRT receiver lossmaxttl=32.

Bonding two weak or lossy links turns an unwatchable SRT feed into a stable one. Below, an 8 Mbps FHD stream where each uplink alone is only 6 Mbit — a single connection (left) vs the same two connections bonded by mqvpn (right):

ScenarioDirect (single link)mqvpn (2-path)
Starved uplinks (8 Mbps FHD over 2 × 6 Mbit)VMAF 8.6, 1.2 s frozenVMAF 87.7, 0 s frozen
Exceeds any single link (120 Mbps over 2 × 100 Mbit)31.5 % stream loss0.06 % stream loss
Dual cellular (42 Mbps over 40 + 30 Mbit lossy links)20–40 % stream loss0.9 % stream loss

VMAF: perceptual video quality score, 0–100 (higher is better).

Full report and comparison videos: bench_results/srt/

Released under the Apache License 2.0