Instantánea de benchmarks
Instantánea manual medida en Apple M4 Pro con Go 1.26.
Throughput
~4,3 Gbit/s
Mejor ruta full-cycle
Latencia
~2,6 μs
Ruta full-cycle más baja
Lookup de fast-path
~3,9 ns - ~15,0 ns
Se mantiene estable de 1 a 10.000
Allocs/op
0
Ruta crítica
Dataplane de ciclo completo
Cifrado, lookup, validación, descifrado, handoff. Límite superior del núcleo del dataplane, no del throughput VPN extremo a extremo.
| Ruta | Latencia | Throughput | Allocs/op |
|---|---|---|---|
| UDPCliente -> Servidor | ~2,7 μs | ~4,3 Gbit/s | 0 |
| UDPServidor -> Cliente | ~2,6 μs | ~4,3 Gbit/s | 0 |
| TCPCliente -> Servidor | ~2,6 μs | ~4,3 Gbit/s | 0 |
| TCPServidor -> Cliente | ~2,6 μs | ~4,3 Gbit/s | 0 |
Escalado UDP multi-peer
Throughput agregado con el trabajo distribuido entre muchos peers, no en una sola línea de envío serializada.
UDP Cliente -> Servidor
Throughput agregadoPares 1~3,4 Gbit/s
Pares 64~34,6 Gbit/s
Pares 1024~34,2 Gbit/s
UDP Servidor -> Cliente
Throughput agregadoPares 1~3,4 Gbit/s
Pares 64~32,5 Gbit/s
Pares 1024~31,9 Gbit/s
Lookup y serialización
Los lookups por IP interna, allowed-host y route-ID se mantienen planos. Los misses y la serialización por peer son los verdaderos puntos de presión.
| Búsqueda | Pares | |||
|---|---|---|---|---|
| 1 | 100 | 1000 | 10.000 | |
| Lookup interno exacto | ~8,7 ns | ~9,0 ns | ~9,3 ns | ~9,3 ns |
| Lookup de host permitido | ~13,5 ns | ~15,0 ns | ~13,4 ns | ~14,1 ns |
| Lookup de ID de ruta | ~3,9 ns | ~6,4 ns | ~6,0 ns | ~6,6 ns |
| Ruta de fallo | ~35,4 ns | ~699 ns | ~9,0 μs | ~89,5 μs |
Canal de egress
~4,7 ns -> ~80,2 ns
De envíos sin contención a envíos con contención
Ruta de fallo
Lineal
~35,4 ns con 1 -> ~89,5 μs con 10.000