Final iperf3 tests
This will be a little slower for normal WDR4900 @ 800MHz, but performance difference between versions is there.
Openwrt client, Windows server at LAN
Made no less than 10 runs on each version, rebooting the main router and Openwrt after initial setup to ensure clean results.
All versions achieve ~1.4Gbit/s running both iperf server & client on Openwrt
Lede 17.1.7
Slower, results are constant
[ ID] Interval Transfer Bitrate Retr
[ 4] 0.00-10.02 sec 430 MBytes 360 Mbits/sec 0 sender
[ 4] 0.00-10.02 sec 430 MBytes 360 Mbits/sec receiver
Openwrt 18.06.9
Slow, results are constant
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.03 sec 386 MBytes 323 Mbits/sec 0 sender
[ 5] 0.00-10.03 sec 386 MBytes 323 Mbits/sec receiver
Openwrt 19.07.9
Slowest of all, results are constant
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 348 MBytes 292 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 348 MBytes 292 Mbits/sec receiver
Openwrt 21.02.4
Best performance, but has some strange slow downs and speed ups
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 83.2 MBytes 698 Mbits/sec 0 221 KBytes
[ 5] 1.00-2.00 sec 85.9 MBytes 721 Mbits/sec 0 221 KBytes
[ 5] 2.00-3.00 sec 88.8 MBytes 744 Mbits/sec 0 221 KBytes
[ 5] 3.00-4.00 sec 89.7 MBytes 753 Mbits/sec 0 221 KBytes
[ 5] 4.00-5.00 sec 89.9 MBytes 753 Mbits/sec 0 221 KBytes
[ 5] 5.00-6.00 sec 89.2 MBytes 748 Mbits/sec 0 221 KBytes
[ 5] 6.00-7.00 sec 88.9 MBytes 746 Mbits/sec 0 221 KBytes
[ 5] 7.00-8.00 sec 88.6 MBytes 743 Mbits/sec 0 221 KBytes
[ 5] 8.00-9.00 sec 89.5 MBytes 750 Mbits/sec 0 221 KBytes
[ 5] 9.00-10.00 sec 89.8 MBytes 754 Mbits/sec 0 221 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 883 MBytes 741 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 883 MBytes 740 Mbits/sec receiver
[ 5] local 192.168.0.5 port 56026 connected to 192.168.0.100 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.01 sec 82.5 MBytes 682 Mbits/sec 0 219 KBytes
[ 5] 1.01-2.01 sec 81.2 MBytes 683 Mbits/sec 0 219 KBytes
[ 5] 2.01-3.00 sec 83.0 MBytes 705 Mbits/sec 0 219 KBytes
[ 5] 3.00-4.00 sec 81.2 MBytes 680 Mbits/sec 0 219 KBytes
[ 5] 4.00-5.00 sec 81.2 MBytes 682 Mbits/sec 0 219 KBytes
[ 5] 5.00-6.01 sec 81.9 MBytes 682 Mbits/sec 0 219 KBytes
[ 5] 6.01-7.01 sec 81.2 MBytes 682 Mbits/sec 0 219 KBytes
[ 5] 7.01-8.01 sec 81.2 MBytes 681 Mbits/sec 0 219 KBytes
[ 5] 8.01-9.01 sec 81.2 MBytes 684 Mbits/sec 0 219 KBytes
[ 5] 9.01-10.01 sec 81.2 MBytes 681 Mbits/sec 0 219 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 816 MBytes 684 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 816 MBytes 684 Mbits/sec receiver
Openwrt 22.03
Slower than 21.02, results are constant
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 729 MBytes 610 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 729 MBytes 610 Mbits/sec receiver
Definitely the CPU speed makes some difference:
600MHz 453 Mbits/sec
1GHz 547 Mbits/sec
1.4GHz 610 Mbits/sec
However when routing traffic through the wan interface (Computer connected at LAN), it peaks at 300Mbit, hogging the CPU with IRQs:
Mem: 52680K used, 68416K free, 1228K shrd, 0K buff, 27784K cached
CPU: 0% usr 0% sys 0% nic 5% idle 0% io 0% irq 93% sirq
Load average: 0.73 0.87 0.48 2/58 5050
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
8 2 root RW 0 0% 82% [ksoftirqd/0]
3 2 root IW 0 0% 1% [kworker/0:0-eve]
2652 2644 network S 5484 5% 0% /usr/sbin/wpa_supplicant -n -s -g /var/run/wpa_supplicant/global
2657 2643 network S 5484 5% 0% /usr/sbin/hostapd -s -g /var/run/hostapd/global
21.02 achieves 100% usage and peaks at 320Mbit
Mem: 38872K used, 83776K free, 296K shrd, 3312K buff, 13936K cached
CPU: 0% usr 0% sys 0% nic 0% idle 0% io 0% irq 100% sirq
Load average: 0.60 0.25 0.09 2/47 4341
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
7 2 root RW 0 0% 93% [ksoftirqd/0]
4238 4100 root R 1380 1% 1% top -d1
4 2 root IW< 0 0% 1% [kworker/0:0H-ev]
2640 1 root S 4940 4% 0% /usr/sbin/wpa_supplicant -n -s -g /var/run/wpa_supplicant/global
2639 1 root S 4940 4% 0% /usr/sbin/hostapd -s -g /var/run/hostapd/global
I guess it's due the hardware NAT not being used?