Benchmark-Snapshot
Manueller Snapshot, gemessen auf Apple M4 Pro mit Go 1.26.
Durchsatz
~4,3 Gbit/s
Bester Full-Cycle-Pfad
Latenz
~2,6 μs
Niedrigster Full-Cycle-Pfad
Fast-Path-Lookup
~3,9 ns - ~15,0 ns
Flach von 1 bis 10.000
Allocs/op
0
Kritischer Pfad
Vollständiger Dataplane-Zyklus
Verschlüsseln, Lookup, Validierung, Entschlüsselung, Handoff. Obergrenze für den Dataplane-Kern, nicht für den End-to-End-VPN-Durchsatz.
| Pfad | Latenz | Durchsatz | Allocs/op |
|---|---|---|---|
| UDPClient -> Server | ~2,7 μs | ~4,3 Gbit/s | 0 |
| UDPServer -> Client | ~2,6 μs | ~4,3 Gbit/s | 0 |
| TCPClient -> Server | ~2,6 μs | ~4,3 Gbit/s | 0 |
| TCPServer -> Client | ~2,6 μs | ~4,3 Gbit/s | 0 |
UDP-Skalierung über mehrere Peers
Aggregierter Durchsatz bei Verteilung der Arbeit über viele Peers, nicht über eine einzelne serialisierte Sendespur.
UDP Client -> Server
Aggregierter DurchsatzPeers 1~3,4 Gbit/s
Peers 64~34,6 Gbit/s
Peers 1.024~34,2 Gbit/s
UDP Server -> Client
Aggregierter DurchsatzPeers 1~3,4 Gbit/s
Peers 64~32,5 Gbit/s
Peers 1.024~31,9 Gbit/s
Lookup und Serialisierung
Internal-IP-, Allowed-Host- und Route-ID-Lookups bleiben flach. Misses und Serialisierung pro Peer sind die eigentlichen Druckpunkte.
| Suche | Peers | |||
|---|---|---|---|---|
| 1 | 100 | 1.000 | 10.000 | |
| Exakter Internal-Lookup | ~8,7 ns | ~9,0 ns | ~9,3 ns | ~9,3 ns |
| Allowed-Host-Lookup | ~13,5 ns | ~15,0 ns | ~13,4 ns | ~14,1 ns |
| Route-ID-Lookup | ~3,9 ns | ~6,4 ns | ~6,0 ns | ~6,6 ns |
| Miss-Pfad | ~35,4 ns | ~699 ns | ~9,0 μs | ~89,5 μs |
Egress-Spur
~4,7 ns -> ~80,2 ns
Von Sendungen ohne Konkurrenz zu Sendungen mit Konkurrenz
Miss-Pfad
Linear
~35,4 ns bei 1 -> ~89,5 μs bei 10.000