A Wireguard comparison DB

With latest snapshot of BPI-R4:

root@R4:~/wg-bench# ubus call system board
{
	"kernel": "6.6.30",
	"hostname": "R4",
	"system": "ARMv8 Processor rev 0",
	"model": "Bananapi BPI-R4",
	"board_name": "bananapi,bpi-r4",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"revision": "r26302-4f87a4d84f",
		"target": "mediatek/filogic",
		"description": "OpenWrt SNAPSHOT r26302-4f87a4d84f"
	}
}
root@R4:~/wg-bench# ./benchmark.sh 
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 37570 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   138 MBytes  1.16 Gbits/sec    0    902 KBytes       
[  5]   1.00-2.00   sec   134 MBytes  1.12 Gbits/sec    0    902 KBytes       
[  5]   2.00-3.00   sec   137 MBytes  1.15 Gbits/sec    0    902 KBytes       
[  5]   3.00-4.00   sec   134 MBytes  1.13 Gbits/sec    0    902 KBytes       
[  5]   4.00-5.00   sec   135 MBytes  1.13 Gbits/sec    0    902 KBytes       
[  5]   5.00-6.00   sec   134 MBytes  1.12 Gbits/sec    0    902 KBytes       
[  5]   6.00-7.00   sec   135 MBytes  1.14 Gbits/sec    0   1014 KBytes       
[  5]   7.00-8.00   sec   134 MBytes  1.13 Gbits/sec    0   1014 KBytes       
[  5]   8.00-9.00   sec   135 MBytes  1.13 Gbits/sec    0   1.30 MBytes       
[  5]   9.00-10.00  sec   135 MBytes  1.13 Gbits/sec    0   1.30 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.32 GBytes  1.13 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  1.32 GBytes  1.13 Gbits/sec                  receiver

iperf Done.
root@R4:~/wg-bench# ./benchmark.sh -R
Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[  5] local 169.254.200.1 port 56548 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   127 MBytes  1.07 Gbits/sec                  
[  5]   1.00-2.00   sec   127 MBytes  1.07 Gbits/sec                  
[  5]   2.00-3.00   sec   126 MBytes  1.06 Gbits/sec                  
[  5]   3.00-4.00   sec   128 MBytes  1.07 Gbits/sec                  
[  5]   4.00-5.00   sec   126 MBytes  1.06 Gbits/sec                  
[  5]   5.00-6.00   sec   126 MBytes  1.06 Gbits/sec                  
[  5]   6.00-7.00   sec   127 MBytes  1.07 Gbits/sec                  
[  5]   7.00-8.00   sec   128 MBytes  1.07 Gbits/sec                  
[  5]   8.00-9.00   sec   128 MBytes  1.08 Gbits/sec                  
[  5]   9.00-10.00  sec   126 MBytes  1.05 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.24 GBytes  1.07 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  1.24 GBytes  1.07 Gbits/sec                  receiver

iperf Done.

Then I found that by forcing CPU governor to performance mode, it has a significant jump:
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

root@R4:~/wg-bench# ./benchmark.sh 
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 44072 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   156 MBytes  1.31 Gbits/sec    0    716 KBytes       
[  5]   1.00-2.00   sec   152 MBytes  1.28 Gbits/sec    0    716 KBytes       
[  5]   2.00-3.00   sec   160 MBytes  1.34 Gbits/sec    0   1.22 MBytes       
[  5]   3.00-4.00   sec   154 MBytes  1.29 Gbits/sec    0   1.22 MBytes       
[  5]   4.00-5.00   sec   154 MBytes  1.29 Gbits/sec    0   1.22 MBytes       
[  5]   5.00-6.00   sec   154 MBytes  1.30 Gbits/sec    0   1.22 MBytes       
[  5]   6.00-7.00   sec   154 MBytes  1.29 Gbits/sec    0   1.22 MBytes       
[  5]   7.00-8.00   sec   156 MBytes  1.31 Gbits/sec    0   1.34 MBytes       
[  5]   8.00-9.00   sec   154 MBytes  1.30 Gbits/sec    0   1.34 MBytes       
[  5]   9.00-10.00  sec   152 MBytes  1.27 Gbits/sec    0   1.34 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.51 GBytes  1.30 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  1.51 GBytes  1.29 Gbits/sec                  receiver

iperf Done.
root@R4:~/wg-bench# ./benchmark.sh -R
Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[  5] local 169.254.200.1 port 45368 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   145 MBytes  1.21 Gbits/sec                  
[  5]   1.00-2.00   sec   145 MBytes  1.22 Gbits/sec                  
[  5]   2.00-3.00   sec   145 MBytes  1.21 Gbits/sec                  
[  5]   3.00-4.00   sec   144 MBytes  1.21 Gbits/sec                  
[  5]   4.00-5.00   sec   144 MBytes  1.21 Gbits/sec                  
[  5]   5.00-6.00   sec   146 MBytes  1.23 Gbits/sec                  
[  5]   6.00-7.00   sec   145 MBytes  1.21 Gbits/sec                  
[  5]   7.00-8.00   sec   145 MBytes  1.22 Gbits/sec                  
[  5]   8.00-9.00   sec   145 MBytes  1.22 Gbits/sec                  
[  5]   9.00-10.00  sec   144 MBytes  1.21 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.42 GBytes  1.22 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  1.42 GBytes  1.22 Gbits/sec                  receiver

iperf Done.
2 Likes