跳到主要内容

Loon4Mac TCP 性能测试

· 阅读需 3 分钟
Loon0x00

Loon4Mac build 1007 对 TCP 转发性能进行了优化。在 Apple M1 Max 上,单流上传达到 12.25 Gbps,单流下载达到 13.97 Gbps,四流下载合计达到 20.61 Gbps。

测试结果​

测试环境​

项目配置
设备Apple M1 Max,32 GB 内存
系统macOS 27.2
LoonLoon4Mac build 1007
测试工具Apple iperf3-darwin 3.8.1
TUN MTU4000

测试流量从本机发出,经 Loon 的 TUN 和 TCP 栈转发到本机 iperf3 服务端。每项预热 2 秒、测试 10 秒,各执行一次。

测试项目TCP 速度Loon NE RSS 峰值
单流上传12.25 Gbps55.70 MiB
单流下载13.97 Gbps59.28 MiB
四流上传(合计)10.67 Gbps60.55 MiB
四流下载(合计)20.61 Gbps90.23 MiB

测试前 Loon NE 的空载 RSS 约为 46.45 MiB。四流结果是四条 TCP 连接的合计速度;RSS 是整个 Loon 网络扩展进程的内存,不是单条连接占用。

测试方法​

Loon 配置​

将以下内容合并到现有配置,DOMAIN 规则需要放在 FINAL 之前:

[Host]
bench.loon.test = 127.0.0.1

[Rule]
DOMAIN,bench.loon.test,DIRECT

保存配置并连接 Loon。bench.loon.test 不要加入 real-ip,也不要写入系统 /etc/hosts。

自动测试脚本​

下载 Loon4Mac TCP 测试脚本

下载后直接运行:

/bin/bash ~/Downloads/loon4mac-tcp-test.sh

脚本会依次测试单流上传、单流下载、四流上传和四流下载,并记录 Loon NE 的 RSS,结果保存在当前目录。

手动测试​

先在一个终端启动服务端:

/usr/bin/arch -arm64 /usr/bin/iperf3-darwin -s -B 127.0.0.1 -p 5201

在另一个终端依次执行:

# 单流上传
/usr/bin/arch -arm64 /usr/bin/iperf3-darwin -c bench.loon.test -4 -p 5201 -O 2 -t 10 -i 1

# 单流下载
/usr/bin/arch -arm64 /usr/bin/iperf3-darwin -c bench.loon.test -4 -p 5201 -O 2 -t 10 -i 1 -R

# 四流上传
/usr/bin/arch -arm64 /usr/bin/iperf3-darwin -c bench.loon.test -4 -p 5201 -O 2 -t 10 -i 1 -P 4

# 四流下载
/usr/bin/arch -arm64 /usr/bin/iperf3-darwin -c bench.loon.test -4 -p 5201 -O 2 -t 10 -i 1 -P 4 -R

单流查看最终的 receiver,四流查看 [SUM] receiver。客户端必须连接 bench.loon.test,如果直接连接 127.0.0.1,流量不会经过 Loon。