-
Notifications
You must be signed in to change notification settings - Fork 236
Benchmarks
hev edited this page Aug 1, 2025
·
3 revisions
CPU: AMD Ryzen 9 7950X 16-Core Processor (Max 5.7GHz)
OS: Arch Linux (Linux 6.15.8)
Iperf3: 3.19.1
Repo: https://github.com/heiher/hev-socks5-server
Version: 2.9.0
Namespace host Namespace guest
eth0: 192.168.0.8
veth0: 192.168.1.1 veth1: 192.168.1.2
socks5 server(listen on: 192.168.1.1) tun2socks(connect to: 192.168.1.1)
iperf3 server(listen on: 192.168.0.8) iperf3 client(connect to: 192.168.0.8)
eth0/veth0/veth1: 1500
tun0: 8500
Repo: https://github.com/heiher/hev-socks5-tunnel
Version: 2.13.0
Command:
# Multi-queue on, 6 processes
hev-socks5-tunnel conf/main.yml
tunnel:
name: tun0
mtu: 8500
multi-queue: true
ipv4: 198.18.0.1
ipv6: 'fc00::1'
socks5:
port: 1080
address: 192.168.1.1
udp: 'udp'
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 38.1 GBytes 32.8 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 38.1 GBytes 32.6 Gbits/sec receiver
CPU usage: 76%
MEM usage: 4.0M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 132 GBytes 113 Gbits/sec 0 sender
[SUM] 0.00-10.04 sec 132 GBytes 113 Gbits/sec receiver
CPU usage: 480%
MEM usage: 24.2M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.04 sec 31.4 GBytes 26.9 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 31.4 GBytes 27.0 Gbits/sec receiver
CPU usage: 83%
MEM usage: 4.0M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.04 sec 121 GBytes 104 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 121 GBytes 104 Gbits/sec receiver
CPU usage: 498%
MEM usage: 24.8M
Repo: https://github.com/SagerNet/sing-box
Version: 1.11.15
Command:
sing-box -c tun2socks.json run
{
"inbounds": [
{
"type": "tun",
"address": [
"198.18.0.1/24"
],
"mtu": 8500,
"auto_route": false,
"strict_route": false
}
],
"outbounds": [
{
"type": "socks",
"tag": "socks-out",
"server": "192.168.1.1",
"server_port": 1080,
"version": "5"
}
]
}
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 30.3 GBytes 26.0 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 30.3 GBytes 25.9 Gbits/sec receiver
CPU usage: 161%
MEM usage: 34.3M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 24.2 GBytes 20.7 Gbits/sec 6599 sender
[SUM] 0.00-10.04 sec 24.1 GBytes 20.6 Gbits/sec receiver
CPU usage: 155%
MEM usage: 35.8M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.04 sec 26.8 GBytes 22.9 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 26.8 GBytes 23.0 Gbits/sec receiver
CPU usage: 147%
MEM usage: 36.1M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.04 sec 19.0 GBytes 16.2 Gbits/sec 4776 sender
[SUM] 0.00-10.00 sec 18.8 GBytes 16.1 Gbits/sec receiver
CPU usage: 125%
MEM usage: 37.4M
Repo: https://github.com/xjasonlyu/tun2socks
Version: 2.6.0
Command:
tun2socks-linux-amd64 -device tun0 -mtu 8500 -proxy socks5://192.168.1.1:1080
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 17.8 GBytes 15.3 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 17.8 GBytes 15.2 Gbits/sec receiver
CPU usage: 163%
MEM usage: 22.1M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 30.0 GBytes 25.8 Gbits/sec 437 sender
[SUM] 0.00-10.04 sec 30.0 GBytes 25.7 Gbits/sec receiver
CPU usage: 296%
MEM usage: 32.5M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.04 sec 13.6 GBytes 11.7 Gbits/sec 1 sender
[ 5] 0.00-10.00 sec 13.6 GBytes 11.7 Gbits/sec receiver
CPU usage: 144%
MEM usage: 25.1M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.04 sec 33.2 GBytes 28.4 Gbits/sec 256 sender
[SUM] 0.00-10.00 sec 33.1 GBytes 28.4 Gbits/sec receiver
CPU usage: 511%
MEM usage: 49.1M
Repo: https://github.com/eycorsican/go-tun2socks
Version: 1.16.11
Command:
tun2socks-linux-amd64 -proxyServer 192.168.1.1:1080 -tunName tun0 -tunPersist
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 1.90 GBytes 1.64 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 1.90 GBytes 1.63 Gbits/sec receiver
CPU usage: 127%
MEM usage: 13.6M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 1.81 GBytes 1.56 Gbits/sec 0 sender
[SUM] 0.00-10.04 sec 1.81 GBytes 1.55 Gbits/sec receiver
CPU usage: 131%
MEM usage: 14.4M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.04 sec 6.06 GBytes 5.18 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 6.05 GBytes 5.20 Gbits/sec receiver
CPU usage: 135%
MEM usage: 14.1M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.04 sec 6.63 GBytes 5.67 Gbits/sec 1559 sender
[SUM] 0.00-10.00 sec 6.53 GBytes 5.61 Gbits/sec receiver
CPU usage: 140%
MEM usage: 16.9M
Repo: https://github.com/ambrop72/badvpn
Version: 1.999.130
Command:
badvpn-tun2socks --tundev tun0 --socks-server-addr 192.168.1.1:1080 --netif-ipaddr 198.18.0.1 --netif-netmask 255.255.255.0
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 3.40 GBytes 2.92 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 3.40 GBytes 2.91 Gbits/sec receiver
CPU usage: 82%
MEM usage: 2.8M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 2.98 GBytes 2.56 Gbits/sec 0 sender
[SUM] 0.00-10.04 sec 2.98 GBytes 2.55 Gbits/sec receiver
CPU usage: 76%
MEM usage: 2.9M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.04 sec 6.01 GBytes 5.14 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 6.01 GBytes 5.16 Gbits/sec receiver
CPU usage: 94%
MEM usage: 2.8M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.04 sec 5.79 GBytes 4.95 Gbits/sec 530 sender
[SUM] 0.00-10.00 sec 5.71 GBytes 4.91 Gbits/sec receiver
CPU usage: 94%
MEM usage: 3.1M
Repo: https://github.com/eycorsican/leaf
Version: 0.11.0
Command:
leaf-x86_64-unknown-linux-musl -c tun2socks.json
{
"inbounds": [
{
"protocol": "tun",
"settings": {
"name": "tun0",
"address": "198.18.0.1",
"netmask": "255.255.255.255",
"gateway": "198.18.0.1",
"mtu": 8500,
"fakeDnsInclude": [
"google"
]
},
"tag": "tun_in"
}
],
"outbounds": [
{
"protocol": "socks",
"settings": {
"address": "192.168.1.1",
"port": 1080
},
"tag": "socks_out"
}
]
}
$ iperf3 -c 192.168.0.8
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 5.16 GBytes 4.43 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 5.16 GBytes 4.43 Gbits/sec receiver
CPU usage: 168%
MEM usage: 13.8M
$ iperf3 -c 192.168.0.8 -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 4.99 GBytes 4.28 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 4.98 GBytes 4.28 Gbits/sec receiver
CPU usage: 182%
MEM usage: 14.1M
$ iperf3 -c 192.168.0.8 -R
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 0.00-10.00 sec 4.25 GBytes 3.65 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 4.24 GBytes 3.64 Gbits/sec receiver
CPU usage: 181%
MEM usage: 14.0M
$ iperf3 -c 192.168.0.8 -R -P 10
- - - - - - - - - - - - - - - - - - - - - - - - -
[SUM] 0.00-10.00 sec 1.52 GBytes 1.30 Gbits/sec 170 sender
[SUM] 0.00-10.00 sec 1.44 GBytes 1.24 Gbits/sec receiver
CPU usage: 242%
MEM usage: 14.3M