Skip to content

性能

Apple M1 上的 ehco 性能基准测试

本次基准测试使用 iperf3 工具在 Apple M1 芯片上评估了 ehco 在不同转发模式下的性能。测试包括直接转发和通过不同类型的隧道(ws、wss、mwss)转发。以下是具体的测试命令和结果。

测试命令

首先,启动 iperf3 作为服务器监听在端口 5201:

iperf3 -s

接下来,通过不同的命令启动 ehco 以测试各种转发模式的性能。

直接转发

ehco -l 0.0.0.0:1234 -r 0.0.0.0:5201

通过 ws 隧道转发

ehco -l 0.0.0.0:1235 -r ws://0.0.0.0:1236 -tt ws
ehco -l 0.0.0.0:1236 -lt ws -r 0.0.0.0:5201

通过 wss 隧道转发

ehco -l 0.0.0.0:1235 -r wss://0.0.0.0:1236 -tt wss
ehco -l 0.0.0.0:1236 -lt wss -r 0.0.0.0:5201

通过 mwss 隧道转发

ehco -l 0.0.0.0:1237 -r wss://0.0.0.0:1238 -tt mwss
ehco -l 0.0.0.0:1238 -lt mwss -r 0.0.0.0:5201

通过 mtcp 隧道转发

ehco -l 0.0.0.0:1237 -r wss://0.0.0.0:1238 -tt mtcp
ehco -l 0.0.0.0:1238 -lt mtcp -r 0.0.0.0:5201

性能基准测试结果

测试结果如下表所示,展示了在不同转发模式下,通过 TCP 和 UDP 协议的性能表现。

类型 原始 (raw) 直接转发 (relay raw) ws 隧道 (relay ws) wss 隧道 (relay wss) mwss 隧道 (relay mwss) mtcp 隧道 (relay mtcp)
TCP 123 Gbits/sec 55 Gbits/sec 41 Gbits/sec 10 Gbits/sec 5.78 Gbits/sec 22.2 Gbits/sec
UDP 14.5 Gbits/sec 3.3 Gbits/sec 直接转发 直接转发 直接转发 直接转发

分析

从测试结果可以看出,直接转发的性能最高,而通过隧道转发(特别是通过加密的 wss 和 mwss 隧道)时,性能有所下降。这是因为隧道转发涉及到额外的加密解密过程和封包解包操作,这些都会增加 CPU 负载和延迟,从而影响传输速率。

特别是,mwss 隧道在减少延迟方面有所优化,但其传输速率相比 wss 隧道有明显下降。这种权衡是设计上的选择,取决于用户对速度和延迟的不同需求。

这些测试结果为 ehco 用户提供了在不同场景下选择合适转发模式的参考依据。