Снимок бенчмарков
Ручной снимок, замеренный на Apple M4 Pro с Go 1.26.
Пропускная способность
~4.3 Gbit/s
Лучший full-cycle path
Задержка
~2.6 μs
Минимальный full-cycle path
Fast-path lookup
~4-15 ns
Плоско до 10k peer
Allocs/op
0
Hot path
Полный dataplane-цикл
Шифрование, lookup, валидация, дешифрование, handoff. Верхняя граница для ядра dataplane, а не сквозной пропускной способности VPN.
| Путь | Задержка | Пропускная способность | Allocs/op |
|---|---|---|---|
| UDPКлиент -> Сервер | ~2.7 μs | ~4.3 Gbit/s | 0 |
| UDPСервер -> Клиент | ~2.6 μs | ~4.3 Gbit/s | 0 |
| TCPКлиент -> Сервер | ~2.6 μs | ~4.3 Gbit/s | 0 |
| TCPСервер -> Клиент | ~2.6 μs | ~4.3 Gbit/s | 0 |
Масштабирование UDP по peer
Агрегированная пропускная способность при распределении работы между множеством peer, а не по одной сериализованной send-линии.
UDP Клиент -> Сервер
Агрегированная пропускная способность{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~3.4 Gbit/s
{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~34.6 Gbit/s
{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~34.2 Gbit/s
UDP Сервер -> Клиент
Агрегированная пропускная способность{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~3.4 Gbit/s
{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~32.5 Gbit/s
{count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}}~31.9 Gbit/s
Lookup и сериализация
Lookup по Internal IP, allowed-host и route-ID остаются плоскими. Misses и сериализация на peer — основные точки давления.
| Lookup | {count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}} | {count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}} | {count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}} | {count, plural, one {# пир} few {# пира} many {# пиров} other {# пира}} |
|---|---|---|---|---|
| Точный lookup по internal IP | ~8.7 ns | ~9.0 ns | ~9.3 ns | ~9.3 ns |
| Lookup по allowed host | ~13.5 ns | ~14.9 ns | ~13.4 ns | ~14.1 ns |
| Lookup по Route ID | ~3.9 ns | ~6.4 ns | ~6.0 ns | ~6.6 ns |
| Miss path | ~35.4 ns | ~699 ns | ~9.0 μs | ~89.5 μs |
Egress-линия
~4.7 ns -> ~80 ns
От uncontended до contended send
Miss path
Линейно
~35 нс на 1 peer -> ~89.5 μs на 10k peer