跳到主要内容

基准测试快照

在 Apple M4 Pro 上使用 Go 1.26 手动测得的快照。

吞吐量
~4.3 Gbit/s
最佳 full-cycle 路径
延迟
~2.6 μs
最低 full-cycle 路径
Fast-path 查找
~3.9 ns - ~15.0 ns
从 1 到 10,000 保持平稳
Allocs/op
0
热点路径

完整 dataplane 周期

加密、lookup、校验、解密、handoff。这是 dataplane 核心的上限,不是端到端 VPN 吞吐量。

路径延迟吞吐量Allocs/op
UDP客户端 -> 服务器~2.7 μs~4.3 Gbit/s0
UDP服务器 -> 客户端~2.6 μs~4.3 Gbit/s0
TCP客户端 -> 服务器~2.6 μs~4.3 Gbit/s0
TCP服务器 -> 客户端~2.6 μs~4.3 Gbit/s0

多 peer UDP 扩展

工作分摊到多个 peer 时的聚合吞吐量,而不是单条串行发送通道。

UDP 客户端 -> 服务器

聚合吞吐量
对等节点 1~3.4 Gbit/s
对等节点 64~34.6 Gbit/s
对等节点 1,024~34.2 Gbit/s

UDP 服务器 -> 客户端

聚合吞吐量
对等节点 1~3.4 Gbit/s
对等节点 64~32.5 Gbit/s
对等节点 1,024~31.9 Gbit/s

Lookup 与串行化

Internal-IP、allowed-host 和 route-ID lookup 保持平稳。misses 和每个 peer 的串行化才是真正的压力点。

查找对等节点
11001,00010,000
精确 internal lookup~8.7 ns~9.0 ns~9.3 ns~9.3 ns
allowed host 查找~13.5 ns~15.0 ns~13.4 ns~14.1 ns
Route ID 查找~3.9 ns~6.4 ns~6.0 ns~6.6 ns
未命中路径~35.4 ns~699 ns~9.0 μs~89.5 μs
Egress 通道
~4.7 ns -> ~80.2 ns
从无争用发送到有争用发送
未命中路径
线性
1 时 ~35.4 ns -> 10,000 时 ~89.5 μs