cyyself/wg-bench

WireGuard Benchmark using netns and iperf3

Shell

244

190 commits

updated Aug 3, 2026

See the code

README

WireGuard Benchmark

Test WireGuard performance using netns and iperf3.

How to use

On most distros, wireguard-tools and iperf3 are the only two required packages.

On OpenWRT, packages ip-full and kmod-veth are also required.

sudo ./setup-netns.sh
sudo ./benchmark.sh
sudo ./clean-up.sh

OpenWrt one-line script

sh <(wget -O - https://raw.githubusercontent.com/cyyself/wg-bench/master/openwrt-benchmark.sh)

Test Results

* refers to this device having quite a difference in speed with different configurations.

Device / CPUOS / Kernel / iperf ParamSpeedNote
Toshiba Satellite 480CDT / Pentium MMX 233MHzAlpine Linux 3.18 / 6.2.0-rc73.2 Mbits/sec
Raspberry Pi Model B / BCM2835OpenWrt 23.05.2 / 5.15.13716.1 Mbits/sec
Buffalo WCR-1166DS / MT7628ANOpenWrt 23.05.2 / 5.15.13718.3 Mbits/sec
GL-iNet GL-E750 / QCA9533OpenWrt 22.03.4 / 5.10.17619.0 Mbits/sec
GL-iNet MT300N V1 / MT7620NOpenWrt 23.05.2 / 5.15.13719.2 Mbits/sec
TP-Link WR841N v9 / QCA9533OpenWrt 22.03.6 / 5.10.20119.2 Mbits/sec
GL-iNet MT300N V2 / MT7628ANOpenWrt 23.05.5 / 5.15.16719.4 Mbits/sec
AVM FRITZ!Box 3490 / VRX288OpenWrt SNAPSHOT / 3.17.126.1 Mbits/sec
TP-Link Archer C7 v2 / QCA9558OpenWrt 23.05.5 / 5.15.16735.2 Mbits/sec
Ubiquiti UniFi AC LR / QCA956XOpenWrt 24.10.0 / 6.6.7335.6 Mbits/sec
Lemote Fuloong / Loongson 2FGentoo / 6.1.74 CONFIG_PREEMPT38.1 Mbits/secHighest of 10 runs
Lemote Fuloong / Loongson 2FGentoo / 6.1.74 PREEMPT_NONE47.2 Mbits/secHighest of 10 runs
Ubiquiti EdgeRouter Lite / Octeon CN5020OpenWrt 24.10.1 / 6.6.8648.5 Mbits/secDefault settings (single-core)
Ubiquiti EdgeRouter Lite / Octeon CN5020OpenWrt 24.10.4 / 6.6.11070.9 Mbits/secDual core with irqbalance
GL-iNet MT1300 / MT7621AOpenWrt 23.05.2 / 5.15.13782.5 Mbits/sec
D-Team Newifi D2 / MT7621ATOpenWrt 23.05.2 / 5.15.13793 Mbits/sec
Zyxel WSM20 / MT7621ATOpenWrt 23.05.2 / 5.15.13798.3 Mbits/sec
ASUS RT-AX53U / MT7621ATOpenWrt 23.05.2 / 5.15.13798.9 Mbits/sec
Ubiquit EdgeRouter-X / MT7621ATOpenWrt 23.05.2 / 5.15.13799 Mbits/sec
Beeline SmartBox GIGA / MT7621AOpenWrt 23.05.2 / 5.15.137100 Mbits/sec
Beeline SmartBox PRO / MT7621ATOpenWrt 23.05.2 / 5.15.137101 Mbits/sec
Beeline SmartBox TURBO+ / MT7621AOpenWrt Snapshot / 5.15.148104 Mbits/sec
TP-Link EC330-G5u V1 / MT7621AOpenWrt 23.05.2 / 5.15.137104 Mbits/sec
ASUS RT-AX53U / MT7621ATOpenWrt SNAPSHOT / 6.12.77122 Mbits/secOverclocked 1.2 GHz
GL.iNet GL-B3000 / IPQ5018OpenWrt SNAPSHOT / 6.6.89122 Mbits/sec
Asus RT-AC68U / BCM5301XOpenWRT 24.10.2 / 6.6.93140 Mbit/secStock 2 core 1.0 GHz
Google WiFi (Gale) / IPQ4019OpenWrt 23.05.2 / 5.15.137164 Mbits/sec
AVM FRITZ!Box 7530 / ipq40xxOpenWrt 23.05.2 / 5.15.137184 Mbits/sec
Raspberry Pi 2B v1.1 / BCM2836Debian bullseye / 6.1.21192 Mbits/sec
P&W R619AC 128M / IPQ4019OpenWrt 23.05.4 / 5.15.164201 Mbits/secOverclocked 896 MHz
Xiaomi Mi Router R3D / IPQ8064OpenWrt Snapshot / 6.1.77214 Mbits/sec
NanoPi R2S / RK3328OpenWrt 23.05.2 / 5.15.137234 Mbits/sec
Linksys WRT1900AC v1 / Marvell Armada XP MV78230OpenWrt SNAPSHOT / 6.12.68244 Mbits/sec
Rock Cubie A5E / A527Armbian 25.5.0 / 6.14.0245 Mbits/sec
TP-Link Archer C2600 v1.x / IPQ8064OpenWrt 23.05.4 / 5.15.162250 Mbits/sec
Intel Atom E3825OpenWrt 23.05.2 / 5.15.137259 Mbits/sec
UFI001C (UFI003) / MSM8916OpenStick / 5.15.0260 Mbits/sec
Cisco/Viptela vEdge 1000 / Cavium CN6130OpenWrt 24.10.1 / 6.6.86260 Mbits/sec
Bananapi BPI-RV2 (Booting from NAND) / Siflower SF21H8898OpenWrt SNAPSHOT / 6.6.114261 Mbits/sec
Ubiquiti EdgeRouter 4 / Cavium CN7130OpenWrt 24.10.0 / 6.6.73271 Mbits/sec
Netgear R7800 / IPQ8065OpenWrt 23.05.2 / 5.15.137291 Mbits/sec
Banana Pi BPI-M2 ZERO / Allwinner H2+Armbian 25.5.0 / 6.12.23295 Mbits/sec
Lemote A1310 / Loongson 3B1500AOSC OS 12.0.4 / 6.12.13-aosc-lts315 Mbits/secCPU reversion 3B1500G, dual-channel memory @ 1066MHz, with firmware PMON-A1310-1.1.0-8cores-official.bin, highest of 10 runs
NanoPi R5S / RK3568OpenWrt 24.10.0-rc4 / 6.12.6318 Mbits/sec
Radxa Orion O6 / Cix P1*Debian sid / 6.12.9320 Mbits/secWith all cores enabled
Lemote A1601 / Loongson 3A2000AOSC OS 12.0.4 / 6.12.13-aosc-lts346 Mbits/secHighest of 5 runs
Fortinet FortiGate 50E / 88F6820OpenWrt 24.10.1 / 6.6.86347 Mbits/sec
Phytium Pi (V2.2) / E2000Q FT310 (1.5GHz)deepin V23 Beta3 / 5.10.209358 Mbits/secWith FT664 "big" cores disabled
Orange Pi RV2 / Ky X1Debian trixie / 6.6.63361 Mbits/secImage from https://romanrm.net/rv-debian
Linksys WRT1900ACv2 / 88F6820OpenWrt 23.05.2 / 5.15.137361 Mbits/sec
GL.iNet GL-MT2500 (Brume 2)OpenWrt 21.02-SNAPSHOT362 Mbits/sec
Linksys E8450 (UBI) / MT7622BVOpenWrt 23.05.5 / 5.15.167368 Mbits/sec
CMCC RAX3000M / MT7981OpenWRT 23.05.2 / 5.15.137369 Mbits/sec
360 T7 / MT7981OpenWRT 23.05.0 / 5.15.134369 Mbits/sec
GL-iNet MT3000 / MT7981GL 5.4.211 / 5.10.0369 Mbits/sec
Xiaomi AX3000T / MT7981OpenWrt Snapshot / 6.1.82371 Mbits/sec
OpenWrt One / MT7981OpenWrt Snapshot / 6.6.43375 Mbits/sec
Cudy TR3000 v1 / MT7981BAOpenWrt 24.10.0 / 6.6.73377 Mbits/sec
Routerich AX3000 / MT7981OpenWRT 23.05.2 / 5.15.137381 Mbits/sec
Netgear WAX206 / MT7622OpenWRT 23.05.2 / 5.15.137381 Mbits/sec
Redmi AX6S / MT7622OpenWRT 23.05.2 / 5.15.137391 Mbits/sec
StarFive VisionFive 2 / JH7110Debian trixie / 5.15.0402 Mbits/sec
GL.iNet GL-AXT1800 / IPQ6000OpenWRT SNAPSHOT / 6.6.84414 Mbits/secarm64 system by VIKINGYFY/immortalwrt, bypass os-release NAME check
Lemote A1801 / Loongson 3A3000-LPDebian bookworm / 5.10.209423 Mbits/secCPU reversion variant H2, clocked at 1.45GHz
Linksys WRT3200ACM / 88F6820OpenWRT 23.05.2 / 5.15.137426 Mbits/sec
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.0436 Mbits/secOnly enable A55 cores
Phytium Pi (V2.2) / E2000Q FT664 (1.8GHz)deepin V23 Beta3 / 5.10.209437 Mbits/secWith FT310 "little" cores disabled
Milk-V Pioneer / SG2042RevyOS / 6.1.61440 Mbits/sec
Raspberry Pi Zero 2W / BCM2710A1OpenWRT 23.05.2 / 5.15.137443 Mbits/sec
Linksys MX4300 / IPQ8174OpenWRT 24.10.0-rc2 / 6.6.63443 Mbits/sec
Sipeed Lichee Pi 4A / TH1520RevyOS / 6.6.4451 Mbits/sec
JDCloud RE-CS-02 / IPQ6018ImmortalWRT SNAPSHOT / 6.12.62481 Mbits/secarm64 system by VIKINGYFY/immortalwrt, bypass os-release NAME check
Nokia Bell XG-040G-MD / AN7581OpenWrt 25.12.0 / 6.12.71494 Mbits/secBuild from patches proposed in openwrt #21896, not yet official
FriendlyElec NanoPi R4S / RK3399OpenWrt 25.12.5 / 6.12.94514 Mbits/secFresh install + Stock OpenWrt config. Highest of 3 runs. More information on #110
Raspberry Pi Model 3B / BCM2837OpenWRT 23.05.2 / 5.15.137522 Mbits/sec
Phicomm N1 / S905Dophub-openwrt / 6.1.66537 Mbits/sec
FriendlyELECT NanoPi R5C / RK3568B2OpenWRT / 24.10.1537 Mbits/sec
FriendlyELEC NanoPi R3S / RK3566OpenWRT 24.10.1 / 6.6.86544 Mbits/secDefault OpenWRT firewall settings
Intel Celeron(R) J1800Ubuntu 22.04.3 / 5.15.0551 Mbits/sec
Routerich AX3000 / MT7981OpenWRT 24.10.2 / 6.6.93559 Mbits/secOC to 2.24GHz
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.0566 Mbits/secDefault use all cores
Dell Wyse 3040 / Intel Atom x5-Z8350OpenWRT 23.05.5 / 5.15.167581 Mbits/secAll cores run on "performance" cpufreq governor
Redmi AX6 / IPQ8071AOpenWRT Snapshot / 6.1.77603 Mbits/sec
Radxa E20C / RK3528iStoreOS / 5.10.201620 Mbits/sec
OrangePi Zero3 / Allwinner H618Armbian v26.2 rolling / 6.12.74-current-sunxi64660 Mbits/sec
Raspberry Pi 4 / BCM2711*archlinux / 6.1.61(armv7l)665 Mbits/sec
Linksys MR7500 (MR75WH) / IPQ6018OpenWrt 25.12.2 / 6.12.74687 Mbits/sec
FriendlyELEC NanoPi R3S / RK3566OpenWRT 24.10.1 / 6.6.86695 Mbits/secFirewall disabled
Radxa A7Z / Allwinner A733Debian 11 / 5.15.147-11-a733698 Mbits/sec
NanoPi R6C / RK3588SOpenWrt 24.10.0-rc5 / 6.6.69728 Mbits/sec
Banana Pi BPI-R3 Mini / MT7986AOpenWRT 24.10.0-rc5 / 6.6.69730 Mbits/sec
Mercusys MR90X v1 / MT7986OpenWRT 23.05.2 / 5.15.137754 Mbits/sec
Linksys MX5300 / IPQ8072AOpenWrt 24.10.5 / 6.6.119758 Mbits/sec 
Intel Celeron N2930OpenWRT 23.05.2 / 5.15.137762 Mbits/sec
OrangePi 5 / Rockchip rk3588s*Armbian 23.8.1 / 5.10.110772 Mbits/sec
Raspberry Pi 4 / BCM2711*Raspberry Pi OS trixie / 6.12.47+rpt-rpi-v8777 Mbits/secStock 1.80GHz
Asus TUF-AX6000 / MT7986AVOpenWRT Snapshot / 6.1.78786 Mbits/sec
JDCloud RE-CP-03 / MT7986A*OpenWRT Snapshot / 6.1.82788 Mbits/secdefault openwrt firewall settings
Lemote A2005 / Loongson 3A4000Debian bookworm / 6.1.76799 Mbits/sec
GL-iNet MT6000 / MT7986OpenWRT Snapshot / 6.1.78807 Mbits/sec
TP-Link XDR 6088 / MT7986OpenWRT 23.05.0 / 5.15.134818 Mbits/sec
Redmi AX6000 / MT7986AOpenWRT 23.05.3 / 5.15.150820 Mbits/sec
Raspberry Pi 4 / BCM2711*OpenWRT 23.05.2 / 5.15.137881 Mbits/secCPU at 1.5GHz
Radxa E52C / Rockchip RK3582*OpenWrt 25.12.3 / 6.12.85912 Mbits/sec
Asus TUF-AX4200 / MT7986AVOpenWRT Snapshot / 6.1.78936 Mbits/sec
JDCloud RE-CP-03 / MT7986A*OpenWRT Snapshot / 6.1.82946 Mbits/secwith firewall disabled
Zhaoxin C4600eweOS / 6.18.12994 Mbits/secCPU stepping 14, dual channel DDR3 at 1333MHz
XpressReal T3 / RTD1619BArmbian Armbian-unofficial 25.111.00 Gbits/secPREEMPT_NONE
Raspberry Pi 4 / BCM2711*OpenWRT 23.05.2 / 5.15.1371.02 Gbits/secCPU at 2.0GHz
FriendlyELEC NanoPC-T6 / Rockchip RK3588 (A53)Debian trixie / 6.12.12-11.03 Gbits/secwith A76 cores disabled
HP T430 / Intel Celeron N4000Kiddin OpenWRT / 5.15.1271.06 Gbits/sec
VMware Edge 620 / Intel Atom C3558Debian bookworm / 6.6.13-bpo1.17 Gbits/sec
HUAWEI SDIv3 / Kunpeng 920Debian trixie / 6.11.71.21 Gbits/sec
Intel Atom C3558Debian bookworm / 6.1.0-131.26 Gbits/sec
Banana Pi BPI-R4 / MT7988AOpenWRT Snapshot / 6.1.771.27 Gbits/sec
Lemote A2101 / Loongson 3A5000AOSC OS 12.0.4 / 6.12.13-aosc-lts1.34 Gbits/secCPU clocked at 2.5GHz
iEi Puzzle-M902 / Marvell CN9130OpenWRT 23.05.03 / 5.15.1501.43 Gbits/sec
Phytium D2000x8 (2.3GHz)Debian trixie / 6.11.71.49 Gbits/sec
Intel Celeron N4500Linux pve / 6.2.16-3-pve1.54 Gbits/sec
OneThingCloud OES / Amlogic A311DArmbian Trixie / 6.18.16-ophub1.55 Gbits/sec
Intel i5-7300UArchLinux / 6.17.1-2-cachyos1.59 Gbits/sec
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.01.60 Gbits/secOnly enable A78 cores
Mac Mini (2020) / Apple M1*AsahiLinux / 6.5.01.60 Gbits/sec
HUAWEI SDIv3 / Kunpeng 920Debian trixie / 6.11.7 / -R1.69 Gbits/sec
Loongson-3A6000-HVLoongArchLinux / 6.6.0-rc41.85 Gbits/sec
Phytium D2000x8 (2.3GHz)Debian bookworm / 6.1.662.05 Gbits/sec
AMD EPYC 7742 (single socket)Debian bookworm / 6.1.272.10 Gbits/sec
Intel Celeron(R) J4125Linux pve / 6.2.162.12 Gbits/sec
Intel Xeon Silver 4210RLinux pve / 6.2.162.31 Gbits/sec
OrangePi 5 / Rockchip rk3588s*Armbian23.8.1 / 5.10.110 / -R2.35 Gbits/sec
AMD EPYC 7D12Linux pve / 6.2.162.45 Gbits/sec
Intel Celeron N5105*Debian bookworm / 6.1.382.46 Gbits/sec
Intel Xeon E3-1220Debian bookworm / 6.1.372.47 Gbits/sec
Intel Xeon Gold 6330Linux pve / 5.15.1082.54 Gbits/sec
Raspberry Pi 5 / BCM2712Raspberry Pi OS / 6.1.682.60 Gbits/sec
Huawei Qingyun W510 / HiSilicon Kunpeng 920 3211kDebian bookworm / 6.1.1242.67 Gbits/secWith 32-core unlock mod
AMD EPYC 7302Debian bookworm / 6.1.552.69 Gbits/sec
Intel CC150Linux pve / 6.5.132.78 Gbits/sec
Intel Atom P5342Debian bookworm / 6.1.0-162.89 Gbits/sec
Firewalla Gold Pro / Intel N97Ubuntu 22.04.4 LTS / 6.5.0-252.95 Gbits/sec
Huawei Qingyun W510 / HiSilicon Kunpeng 920 2426skDebian bookworm / 6.1.763.01 Gbits/secHighest of 5 runs
Intel Xeon E3-1265L v3Debian trixie / 6.6.133.03 Gbits/sec
FriendlyELEC NanoPC-T6 / Rockchip RK3588 (A76)Debian trixie / 6.12.12-13.06 Gbits/secwith A55 cores disabled
Raspberry Pi 5 / BCM2712*Raspberry Pi OS / 6.1.683.08 Gbits/secReconfigure Kernel #5
Radxa E52C / Rockchip RK3582*OpenWrt 25.12.3 / 6.12.853.11 Gbits/sec
Pixel 7a / Google Tensor G2Debian trixie / 6.1.23.14 Gbits/sec2 core pKVM
Intel Xeon Platinum 8259CLDebian bookworm / 6.1.943.26 Gbits/sec4 core Hyper-V VM
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.28 Gbits/sectest 1 firewalld: running ; irqbalance: running
Intel Atlas Canyon / Intel Celeron N5105*Alpine Linux / 6.6.283.44 Gbits/sec
Radxa Orion O6 / Cix P1*Debian sid / 6.12.93.48 Gbits/secWith A520 little cores disabled
Intel Core i7-8850HDebian Trixie / Linux 6.12.353.53 Gbits/secfirewalld enabled
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.55 Gbits/sectest 5 firewalld: stopped ; irqbalance: running ; nftables
Mac Mini (2020) / Apple M1*AsahiLinux / 6.5.0 / -R3.62 Gbits/sec
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.63 Gbits/sectest 2 firewalld: running ; irqbalance: stopped ; needs retesting #1
Intel Pentium(R) Silver N6005iStoreOS / 5.10.1763.85 Gbits/sec
Intel N100Debian bookworm / 6.1.763.97 Gbits/sec
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-14.14 Gbits/sectest 4 firewalld: stopped ; irqbalance: stopped
Intel Core i5-4590Debian bookworm / 6.1.384.21 Gbits/sec
Intel Core i7-8850HDebian Trixie / Linux 6.12.354.29 Gbits/secfirewalld stopped
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-14.30 Gbits/sectest 3 firewalld: stopped ; irqbalance: running ; needs retesting #1
Intel Core i5-12500ArchLinux / 6.17.1-2-cachyos4.31 Gbits/secpowerprofilectl on performance, E cores not disabled
Intel Core i5-8500Ubuntu 22.04.3 / 5.15.04.49 Gbits/sec
LENOVO 90CYCTO1WW / Intel Core i5-4590ImmortalWrt 24.10.3 / 6.6.1044.57 Gbits/secCPU at 3.49GHz
Intel N100Debian bookworm / 6.6.134.65 Gbits/secCPU at 12W TDP
Intel N150Ubuntu 25.10 / 6.17.04.65 Gbits/sec
Intel Core i7-8565UDebian trixie / 6.7.6 xanmod4.93 Gbits/secXanmod Kernel
AMD Ryzen 5 PRO 5650GELinux pve / 6.2.165.29 Gbits/sec
Surface Pro 11 with 5G / Snapdragon X Elite X1E-80-100Arch Linux ARM / 6.13.05.57 Gbits/secdisabled 4 cores, other 8 cores running at 3.42GHz
AMD Ryzen 9 7950XUbuntu 22.04.3 / 5.15.05.64 Gbits/sec
Intel Core i5-8365UDebian bullseye / 5.10.0-245.64 Gbits/sec
Intel Core i5-13420HAlpine Linux / 6.6.565.90 Gbits/sec
Intel Core i5-8265UArch Linux / 6.10.16.00 Gbits/sec
AMD Ryzen 9 7945HXDebian bookworm / 6.1.06.83 Gbits/sec
Intel Core i9 13900KDebian trixie / 6.5.137.53 Gbits/sec
AMD Ryzen 7 7840HSArch Linux / 6.8.7-2-cachyos-bore-lto_v48.11 Gbits/secCachyOS Kernel
Intel Core i9 12900KSUbuntu 22.04 / 6.2.0-328.30 Gbits/sec
AMD Ryzen 9 9955HXDebian Trixie / 6.12.94-19.22 Gbits/secPVE(9.2.3) VM 3 cores(host type)
MacBook Pro 2023 / Apple M2 Max*Debian bookworm / 6.7.4-19.30 Gbits/sec4 core VZ VM
MacBook Pro 2023 / Apple M3 Max*Ubuntu 22.04 / 5.15.0-919.39 Gbits/sec4 core VM (Parallels Desktop 19.3.0)
Intel Core i9 13905H*Arch Linux / 6.10.310.5 Gbits/sec
MacBook Pro 2024 / Apple M4 ProDebian sid / 6.11.210.5 Gbits/sec4 core VM (VMware Fusion 13.6.2)
MacBook Air 2024 / Apple M3Ubuntu 24.04 / 6.10.14-linuxkit10.8 Gbits/sec5 core VM (Docker Desktop 4.46.0)

If you have more results to show, PR is welcomed.

We recommend also testing with -R by sudo ./benchmark.sh -R before submitting the result.

If you see quite a difference in speed which might happen on big.LITTLE CPU architecture (such as Apple M1), please note this in your commit.

About Result

This program only benchmarks your CPU and Kernel network stack, the end-to-end performance will also be affected by your NIC, NIC driver, etc.

Discussion

A WireGuard comparison DB on OpenWRT forum

netns
wireguard

Contributors

(top 30 of 57)

cyyself

89 commits

1andrevich

10 commits

IgnotaYun

7 commits

moesoha

5 commits

cyyself/wg-bench

WireGuard Benchmark using netns and iperf3

Shell

244

190 commits

updated Aug 3, 2026

See the code

README

WireGuard Benchmark

Test WireGuard performance using netns and iperf3.

How to use

On most distros, wireguard-tools and iperf3 are the only two required packages.

On OpenWRT, packages ip-full and kmod-veth are also required.

sudo ./setup-netns.sh
sudo ./benchmark.sh
sudo ./clean-up.sh

OpenWrt one-line script

sh <(wget -O - https://raw.githubusercontent.com/cyyself/wg-bench/master/openwrt-benchmark.sh)

Test Results

* refers to this device having quite a difference in speed with different configurations.

Device / CPUOS / Kernel / iperf ParamSpeedNote
Toshiba Satellite 480CDT / Pentium MMX 233MHzAlpine Linux 3.18 / 6.2.0-rc73.2 Mbits/sec
Raspberry Pi Model B / BCM2835OpenWrt 23.05.2 / 5.15.13716.1 Mbits/sec
Buffalo WCR-1166DS / MT7628ANOpenWrt 23.05.2 / 5.15.13718.3 Mbits/sec
GL-iNet GL-E750 / QCA9533OpenWrt 22.03.4 / 5.10.17619.0 Mbits/sec
GL-iNet MT300N V1 / MT7620NOpenWrt 23.05.2 / 5.15.13719.2 Mbits/sec
TP-Link WR841N v9 / QCA9533OpenWrt 22.03.6 / 5.10.20119.2 Mbits/sec
GL-iNet MT300N V2 / MT7628ANOpenWrt 23.05.5 / 5.15.16719.4 Mbits/sec
AVM FRITZ!Box 3490 / VRX288OpenWrt SNAPSHOT / 3.17.126.1 Mbits/sec
TP-Link Archer C7 v2 / QCA9558OpenWrt 23.05.5 / 5.15.16735.2 Mbits/sec
Ubiquiti UniFi AC LR / QCA956XOpenWrt 24.10.0 / 6.6.7335.6 Mbits/sec
Lemote Fuloong / Loongson 2FGentoo / 6.1.74 CONFIG_PREEMPT38.1 Mbits/secHighest of 10 runs
Lemote Fuloong / Loongson 2FGentoo / 6.1.74 PREEMPT_NONE47.2 Mbits/secHighest of 10 runs
Ubiquiti EdgeRouter Lite / Octeon CN5020OpenWrt 24.10.1 / 6.6.8648.5 Mbits/secDefault settings (single-core)
Ubiquiti EdgeRouter Lite / Octeon CN5020OpenWrt 24.10.4 / 6.6.11070.9 Mbits/secDual core with irqbalance
GL-iNet MT1300 / MT7621AOpenWrt 23.05.2 / 5.15.13782.5 Mbits/sec
D-Team Newifi D2 / MT7621ATOpenWrt 23.05.2 / 5.15.13793 Mbits/sec
Zyxel WSM20 / MT7621ATOpenWrt 23.05.2 / 5.15.13798.3 Mbits/sec
ASUS RT-AX53U / MT7621ATOpenWrt 23.05.2 / 5.15.13798.9 Mbits/sec
Ubiquit EdgeRouter-X / MT7621ATOpenWrt 23.05.2 / 5.15.13799 Mbits/sec
Beeline SmartBox GIGA / MT7621AOpenWrt 23.05.2 / 5.15.137100 Mbits/sec
Beeline SmartBox PRO / MT7621ATOpenWrt 23.05.2 / 5.15.137101 Mbits/sec
Beeline SmartBox TURBO+ / MT7621AOpenWrt Snapshot / 5.15.148104 Mbits/sec
TP-Link EC330-G5u V1 / MT7621AOpenWrt 23.05.2 / 5.15.137104 Mbits/sec
ASUS RT-AX53U / MT7621ATOpenWrt SNAPSHOT / 6.12.77122 Mbits/secOverclocked 1.2 GHz
GL.iNet GL-B3000 / IPQ5018OpenWrt SNAPSHOT / 6.6.89122 Mbits/sec
Asus RT-AC68U / BCM5301XOpenWRT 24.10.2 / 6.6.93140 Mbit/secStock 2 core 1.0 GHz
Google WiFi (Gale) / IPQ4019OpenWrt 23.05.2 / 5.15.137164 Mbits/sec
AVM FRITZ!Box 7530 / ipq40xxOpenWrt 23.05.2 / 5.15.137184 Mbits/sec
Raspberry Pi 2B v1.1 / BCM2836Debian bullseye / 6.1.21192 Mbits/sec
P&W R619AC 128M / IPQ4019OpenWrt 23.05.4 / 5.15.164201 Mbits/secOverclocked 896 MHz
Xiaomi Mi Router R3D / IPQ8064OpenWrt Snapshot / 6.1.77214 Mbits/sec
NanoPi R2S / RK3328OpenWrt 23.05.2 / 5.15.137234 Mbits/sec
Linksys WRT1900AC v1 / Marvell Armada XP MV78230OpenWrt SNAPSHOT / 6.12.68244 Mbits/sec
Rock Cubie A5E / A527Armbian 25.5.0 / 6.14.0245 Mbits/sec
TP-Link Archer C2600 v1.x / IPQ8064OpenWrt 23.05.4 / 5.15.162250 Mbits/sec
Intel Atom E3825OpenWrt 23.05.2 / 5.15.137259 Mbits/sec
UFI001C (UFI003) / MSM8916OpenStick / 5.15.0260 Mbits/sec
Cisco/Viptela vEdge 1000 / Cavium CN6130OpenWrt 24.10.1 / 6.6.86260 Mbits/sec
Bananapi BPI-RV2 (Booting from NAND) / Siflower SF21H8898OpenWrt SNAPSHOT / 6.6.114261 Mbits/sec
Ubiquiti EdgeRouter 4 / Cavium CN7130OpenWrt 24.10.0 / 6.6.73271 Mbits/sec
Netgear R7800 / IPQ8065OpenWrt 23.05.2 / 5.15.137291 Mbits/sec
Banana Pi BPI-M2 ZERO / Allwinner H2+Armbian 25.5.0 / 6.12.23295 Mbits/sec
Lemote A1310 / Loongson 3B1500AOSC OS 12.0.4 / 6.12.13-aosc-lts315 Mbits/secCPU reversion 3B1500G, dual-channel memory @ 1066MHz, with firmware PMON-A1310-1.1.0-8cores-official.bin, highest of 10 runs
NanoPi R5S / RK3568OpenWrt 24.10.0-rc4 / 6.12.6318 Mbits/sec
Radxa Orion O6 / Cix P1*Debian sid / 6.12.9320 Mbits/secWith all cores enabled
Lemote A1601 / Loongson 3A2000AOSC OS 12.0.4 / 6.12.13-aosc-lts346 Mbits/secHighest of 5 runs
Fortinet FortiGate 50E / 88F6820OpenWrt 24.10.1 / 6.6.86347 Mbits/sec
Phytium Pi (V2.2) / E2000Q FT310 (1.5GHz)deepin V23 Beta3 / 5.10.209358 Mbits/secWith FT664 "big" cores disabled
Orange Pi RV2 / Ky X1Debian trixie / 6.6.63361 Mbits/secImage from https://romanrm.net/rv-debian
Linksys WRT1900ACv2 / 88F6820OpenWrt 23.05.2 / 5.15.137361 Mbits/sec
GL.iNet GL-MT2500 (Brume 2)OpenWrt 21.02-SNAPSHOT362 Mbits/sec
Linksys E8450 (UBI) / MT7622BVOpenWrt 23.05.5 / 5.15.167368 Mbits/sec
CMCC RAX3000M / MT7981OpenWRT 23.05.2 / 5.15.137369 Mbits/sec
360 T7 / MT7981OpenWRT 23.05.0 / 5.15.134369 Mbits/sec
GL-iNet MT3000 / MT7981GL 5.4.211 / 5.10.0369 Mbits/sec
Xiaomi AX3000T / MT7981OpenWrt Snapshot / 6.1.82371 Mbits/sec
OpenWrt One / MT7981OpenWrt Snapshot / 6.6.43375 Mbits/sec
Cudy TR3000 v1 / MT7981BAOpenWrt 24.10.0 / 6.6.73377 Mbits/sec
Routerich AX3000 / MT7981OpenWRT 23.05.2 / 5.15.137381 Mbits/sec
Netgear WAX206 / MT7622OpenWRT 23.05.2 / 5.15.137381 Mbits/sec
Redmi AX6S / MT7622OpenWRT 23.05.2 / 5.15.137391 Mbits/sec
StarFive VisionFive 2 / JH7110Debian trixie / 5.15.0402 Mbits/sec
GL.iNet GL-AXT1800 / IPQ6000OpenWRT SNAPSHOT / 6.6.84414 Mbits/secarm64 system by VIKINGYFY/immortalwrt, bypass os-release NAME check
Lemote A1801 / Loongson 3A3000-LPDebian bookworm / 5.10.209423 Mbits/secCPU reversion variant H2, clocked at 1.45GHz
Linksys WRT3200ACM / 88F6820OpenWRT 23.05.2 / 5.15.137426 Mbits/sec
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.0436 Mbits/secOnly enable A55 cores
Phytium Pi (V2.2) / E2000Q FT664 (1.8GHz)deepin V23 Beta3 / 5.10.209437 Mbits/secWith FT310 "little" cores disabled
Milk-V Pioneer / SG2042RevyOS / 6.1.61440 Mbits/sec
Raspberry Pi Zero 2W / BCM2710A1OpenWRT 23.05.2 / 5.15.137443 Mbits/sec
Linksys MX4300 / IPQ8174OpenWRT 24.10.0-rc2 / 6.6.63443 Mbits/sec
Sipeed Lichee Pi 4A / TH1520RevyOS / 6.6.4451 Mbits/sec
JDCloud RE-CS-02 / IPQ6018ImmortalWRT SNAPSHOT / 6.12.62481 Mbits/secarm64 system by VIKINGYFY/immortalwrt, bypass os-release NAME check
Nokia Bell XG-040G-MD / AN7581OpenWrt 25.12.0 / 6.12.71494 Mbits/secBuild from patches proposed in openwrt #21896, not yet official
FriendlyElec NanoPi R4S / RK3399OpenWrt 25.12.5 / 6.12.94514 Mbits/secFresh install + Stock OpenWrt config. Highest of 3 runs. More information on #110
Raspberry Pi Model 3B / BCM2837OpenWRT 23.05.2 / 5.15.137522 Mbits/sec
Phicomm N1 / S905Dophub-openwrt / 6.1.66537 Mbits/sec
FriendlyELECT NanoPi R5C / RK3568B2OpenWRT / 24.10.1537 Mbits/sec
FriendlyELEC NanoPi R3S / RK3566OpenWRT 24.10.1 / 6.6.86544 Mbits/secDefault OpenWRT firewall settings
Intel Celeron(R) J1800Ubuntu 22.04.3 / 5.15.0551 Mbits/sec
Routerich AX3000 / MT7981OpenWRT 24.10.2 / 6.6.93559 Mbits/secOC to 2.24GHz
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.0566 Mbits/secDefault use all cores
Dell Wyse 3040 / Intel Atom x5-Z8350OpenWRT 23.05.5 / 5.15.167581 Mbits/secAll cores run on "performance" cpufreq governor
Redmi AX6 / IPQ8071AOpenWRT Snapshot / 6.1.77603 Mbits/sec
Radxa E20C / RK3528iStoreOS / 5.10.201620 Mbits/sec
OrangePi Zero3 / Allwinner H618Armbian v26.2 rolling / 6.12.74-current-sunxi64660 Mbits/sec
Raspberry Pi 4 / BCM2711*archlinux / 6.1.61(armv7l)665 Mbits/sec
Linksys MR7500 (MR75WH) / IPQ6018OpenWrt 25.12.2 / 6.12.74687 Mbits/sec
FriendlyELEC NanoPi R3S / RK3566OpenWRT 24.10.1 / 6.6.86695 Mbits/secFirewall disabled
Radxa A7Z / Allwinner A733Debian 11 / 5.15.147-11-a733698 Mbits/sec
NanoPi R6C / RK3588SOpenWrt 24.10.0-rc5 / 6.6.69728 Mbits/sec
Banana Pi BPI-R3 Mini / MT7986AOpenWRT 24.10.0-rc5 / 6.6.69730 Mbits/sec
Mercusys MR90X v1 / MT7986OpenWRT 23.05.2 / 5.15.137754 Mbits/sec
Linksys MX5300 / IPQ8072AOpenWrt 24.10.5 / 6.6.119758 Mbits/sec 
Intel Celeron N2930OpenWRT 23.05.2 / 5.15.137762 Mbits/sec
OrangePi 5 / Rockchip rk3588s*Armbian 23.8.1 / 5.10.110772 Mbits/sec
Raspberry Pi 4 / BCM2711*Raspberry Pi OS trixie / 6.12.47+rpt-rpi-v8777 Mbits/secStock 1.80GHz
Asus TUF-AX6000 / MT7986AVOpenWRT Snapshot / 6.1.78786 Mbits/sec
JDCloud RE-CP-03 / MT7986A*OpenWRT Snapshot / 6.1.82788 Mbits/secdefault openwrt firewall settings
Lemote A2005 / Loongson 3A4000Debian bookworm / 6.1.76799 Mbits/sec
GL-iNet MT6000 / MT7986OpenWRT Snapshot / 6.1.78807 Mbits/sec
TP-Link XDR 6088 / MT7986OpenWRT 23.05.0 / 5.15.134818 Mbits/sec
Redmi AX6000 / MT7986AOpenWRT 23.05.3 / 5.15.150820 Mbits/sec
Raspberry Pi 4 / BCM2711*OpenWRT 23.05.2 / 5.15.137881 Mbits/secCPU at 1.5GHz
Radxa E52C / Rockchip RK3582*OpenWrt 25.12.3 / 6.12.85912 Mbits/sec
Asus TUF-AX4200 / MT7986AVOpenWRT Snapshot / 6.1.78936 Mbits/sec
JDCloud RE-CP-03 / MT7986A*OpenWRT Snapshot / 6.1.82946 Mbits/secwith firewall disabled
Zhaoxin C4600eweOS / 6.18.12994 Mbits/secCPU stepping 14, dual channel DDR3 at 1333MHz
XpressReal T3 / RTD1619BArmbian Armbian-unofficial 25.111.00 Gbits/secPREEMPT_NONE
Raspberry Pi 4 / BCM2711*OpenWRT 23.05.2 / 5.15.1371.02 Gbits/secCPU at 2.0GHz
FriendlyELEC NanoPC-T6 / Rockchip RK3588 (A53)Debian trixie / 6.12.12-11.03 Gbits/secwith A76 cores disabled
HP T430 / Intel Celeron N4000Kiddin OpenWRT / 5.15.1271.06 Gbits/sec
VMware Edge 620 / Intel Atom C3558Debian bookworm / 6.6.13-bpo1.17 Gbits/sec
HUAWEI SDIv3 / Kunpeng 920Debian trixie / 6.11.71.21 Gbits/sec
Intel Atom C3558Debian bookworm / 6.1.0-131.26 Gbits/sec
Banana Pi BPI-R4 / MT7988AOpenWRT Snapshot / 6.1.771.27 Gbits/sec
Lemote A2101 / Loongson 3A5000AOSC OS 12.0.4 / 6.12.13-aosc-lts1.34 Gbits/secCPU clocked at 2.5GHz
iEi Puzzle-M902 / Marvell CN9130OpenWRT 23.05.03 / 5.15.1501.43 Gbits/sec
Phytium D2000x8 (2.3GHz)Debian trixie / 6.11.71.49 Gbits/sec
Intel Celeron N4500Linux pve / 6.2.16-3-pve1.54 Gbits/sec
OneThingCloud OES / Amlogic A311DArmbian Trixie / 6.18.16-ophub1.55 Gbits/sec
Intel i5-7300UArchLinux / 6.17.1-2-cachyos1.59 Gbits/sec
Radxa NIO12L / MT8395Ubuntu 22.04 / 5.15.01.60 Gbits/secOnly enable A78 cores
Mac Mini (2020) / Apple M1*AsahiLinux / 6.5.01.60 Gbits/sec
HUAWEI SDIv3 / Kunpeng 920Debian trixie / 6.11.7 / -R1.69 Gbits/sec
Loongson-3A6000-HVLoongArchLinux / 6.6.0-rc41.85 Gbits/sec
Phytium D2000x8 (2.3GHz)Debian bookworm / 6.1.662.05 Gbits/sec
AMD EPYC 7742 (single socket)Debian bookworm / 6.1.272.10 Gbits/sec
Intel Celeron(R) J4125Linux pve / 6.2.162.12 Gbits/sec
Intel Xeon Silver 4210RLinux pve / 6.2.162.31 Gbits/sec
OrangePi 5 / Rockchip rk3588s*Armbian23.8.1 / 5.10.110 / -R2.35 Gbits/sec
AMD EPYC 7D12Linux pve / 6.2.162.45 Gbits/sec
Intel Celeron N5105*Debian bookworm / 6.1.382.46 Gbits/sec
Intel Xeon E3-1220Debian bookworm / 6.1.372.47 Gbits/sec
Intel Xeon Gold 6330Linux pve / 5.15.1082.54 Gbits/sec
Raspberry Pi 5 / BCM2712Raspberry Pi OS / 6.1.682.60 Gbits/sec
Huawei Qingyun W510 / HiSilicon Kunpeng 920 3211kDebian bookworm / 6.1.1242.67 Gbits/secWith 32-core unlock mod
AMD EPYC 7302Debian bookworm / 6.1.552.69 Gbits/sec
Intel CC150Linux pve / 6.5.132.78 Gbits/sec
Intel Atom P5342Debian bookworm / 6.1.0-162.89 Gbits/sec
Firewalla Gold Pro / Intel N97Ubuntu 22.04.4 LTS / 6.5.0-252.95 Gbits/sec
Huawei Qingyun W510 / HiSilicon Kunpeng 920 2426skDebian bookworm / 6.1.763.01 Gbits/secHighest of 5 runs
Intel Xeon E3-1265L v3Debian trixie / 6.6.133.03 Gbits/sec
FriendlyELEC NanoPC-T6 / Rockchip RK3588 (A76)Debian trixie / 6.12.12-13.06 Gbits/secwith A55 cores disabled
Raspberry Pi 5 / BCM2712*Raspberry Pi OS / 6.1.683.08 Gbits/secReconfigure Kernel #5
Radxa E52C / Rockchip RK3582*OpenWrt 25.12.3 / 6.12.853.11 Gbits/sec
Pixel 7a / Google Tensor G2Debian trixie / 6.1.23.14 Gbits/sec2 core pKVM
Intel Xeon Platinum 8259CLDebian bookworm / 6.1.943.26 Gbits/sec4 core Hyper-V VM
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.28 Gbits/sectest 1 firewalld: running ; irqbalance: running
Intel Atlas Canyon / Intel Celeron N5105*Alpine Linux / 6.6.283.44 Gbits/sec
Radxa Orion O6 / Cix P1*Debian sid / 6.12.93.48 Gbits/secWith A520 little cores disabled
Intel Core i7-8850HDebian Trixie / Linux 6.12.353.53 Gbits/secfirewalld enabled
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.55 Gbits/sectest 5 firewalld: stopped ; irqbalance: running ; nftables
Mac Mini (2020) / Apple M1*AsahiLinux / 6.5.0 / -R3.62 Gbits/sec
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-13.63 Gbits/sectest 2 firewalld: running ; irqbalance: stopped ; needs retesting #1
Intel Pentium(R) Silver N6005iStoreOS / 5.10.1763.85 Gbits/sec
Intel N100Debian bookworm / 6.1.763.97 Gbits/sec
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-14.14 Gbits/sectest 4 firewalld: stopped ; irqbalance: stopped
Intel Core i5-4590Debian bookworm / 6.1.384.21 Gbits/sec
Intel Core i7-8850HDebian Trixie / Linux 6.12.354.29 Gbits/secfirewalld stopped
AMD Ryzen 9 5950X*Arch Linux / 6.7.6-arch1-14.30 Gbits/sectest 3 firewalld: stopped ; irqbalance: running ; needs retesting #1
Intel Core i5-12500ArchLinux / 6.17.1-2-cachyos4.31 Gbits/secpowerprofilectl on performance, E cores not disabled
Intel Core i5-8500Ubuntu 22.04.3 / 5.15.04.49 Gbits/sec
LENOVO 90CYCTO1WW / Intel Core i5-4590ImmortalWrt 24.10.3 / 6.6.1044.57 Gbits/secCPU at 3.49GHz
Intel N100Debian bookworm / 6.6.134.65 Gbits/secCPU at 12W TDP
Intel N150Ubuntu 25.10 / 6.17.04.65 Gbits/sec
Intel Core i7-8565UDebian trixie / 6.7.6 xanmod4.93 Gbits/secXanmod Kernel
AMD Ryzen 5 PRO 5650GELinux pve / 6.2.165.29 Gbits/sec
Surface Pro 11 with 5G / Snapdragon X Elite X1E-80-100Arch Linux ARM / 6.13.05.57 Gbits/secdisabled 4 cores, other 8 cores running at 3.42GHz
AMD Ryzen 9 7950XUbuntu 22.04.3 / 5.15.05.64 Gbits/sec
Intel Core i5-8365UDebian bullseye / 5.10.0-245.64 Gbits/sec
Intel Core i5-13420HAlpine Linux / 6.6.565.90 Gbits/sec
Intel Core i5-8265UArch Linux / 6.10.16.00 Gbits/sec
AMD Ryzen 9 7945HXDebian bookworm / 6.1.06.83 Gbits/sec
Intel Core i9 13900KDebian trixie / 6.5.137.53 Gbits/sec
AMD Ryzen 7 7840HSArch Linux / 6.8.7-2-cachyos-bore-lto_v48.11 Gbits/secCachyOS Kernel
Intel Core i9 12900KSUbuntu 22.04 / 6.2.0-328.30 Gbits/sec
AMD Ryzen 9 9955HXDebian Trixie / 6.12.94-19.22 Gbits/secPVE(9.2.3) VM 3 cores(host type)
MacBook Pro 2023 / Apple M2 Max*Debian bookworm / 6.7.4-19.30 Gbits/sec4 core VZ VM
MacBook Pro 2023 / Apple M3 Max*Ubuntu 22.04 / 5.15.0-919.39 Gbits/sec4 core VM (Parallels Desktop 19.3.0)
Intel Core i9 13905H*Arch Linux / 6.10.310.5 Gbits/sec
MacBook Pro 2024 / Apple M4 ProDebian sid / 6.11.210.5 Gbits/sec4 core VM (VMware Fusion 13.6.2)
MacBook Air 2024 / Apple M3Ubuntu 24.04 / 6.10.14-linuxkit10.8 Gbits/sec5 core VM (Docker Desktop 4.46.0)

If you have more results to show, PR is welcomed.

We recommend also testing with -R by sudo ./benchmark.sh -R before submitting the result.

If you see quite a difference in speed which might happen on big.LITTLE CPU architecture (such as Apple M1), please note this in your commit.

About Result

This program only benchmarks your CPU and Kernel network stack, the end-to-end performance will also be affected by your NIC, NIC driver, etc.

Discussion

A WireGuard comparison DB on OpenWRT forum

netns
wireguard

Contributors

(top 30 of 57)

cyyself

89 commits

1andrevich

10 commits

IgnotaYun

7 commits

moesoha

5 commits

Languages

Shell

100.0%