Wireguard (VPN) is dropping connection speed by almost 80%. I read some earlier threads and tried the below already:
• Enabled packet steering in Global network options
• Enabled software/hardware offloading
• Modified br-lan MTU to 1300
• Modified Wifi operating frequency width to 80HZ in 5GHZ
I have tested that same wireguard VPN location without openwrt and it doesn't reduce my connection speed by no where near that much.
This router has a very weak CPU, and any VPN involves some CPU-intensive encryption and decryption. Also your router's WiFi chipset is quite taxing on the CPU. So the speed that you get is more-or-less expected.
You can confirm (e.g. by running top over ssh, or by using Status > Realtime graphs) that the CPU becomes pegged to 100% and thus represents a bottleneck.
For VPN, I can only recommend x86 routers (Qotom fanless mini-pcs).
This makes sense. I have done some testing though based on what you mentioned but seems like CPU is not that loaded to reduce speed so drastically.
Not sure if I'm looking at right parameters but it shows 81% idle. I tested speed few times when CPU idle was at even 90%, the speed was still dropping by 80%.
While it's difficult to find a non-x86 router with good performance for VPNs, I'm currently using Xiaomi Redmi AX6000 (Mediatek MT7986A) with quite good VPN performance (>600 Mbps). It's quite cheap at ~$100. With the same chipset, there're more capable systems (Banana Pi-R3, TP-Link TL-XDR6088) but they're also more expensive.
Have you considered a separate device just for WireGuard? Have any old routers lying around?
We had an old D-Link 825C1 gathering dust. It was discontinued 10 years ago, so you can get an idea of how dull this cutting edge is. With 22.03.2, radios off, and connected through Ethernet to the main router, we get close to 40 down 30 up Mbps on VPN and less than 250ms of ping time loaded according to fast-dot-com. (CPU flatlines at that point so that's as far as it will go). A far cry from the 600Mbps mentioned above but very livable when travelling for basic internet access.
What happens if you disable wifi entirely and run via ethernet? Does that improve the speeds? And is there anything else running on this router (any other user-installed packages, obviously not including Wireguard)?
As it was said above, our best guess is because the CPU is tiny. These things are streamlined to do routing or WiFi, not for the newer encryption required by WireGuard.
Routing WiFi takes CPU cycles. So does PPPoE. Is the router also handling PPPoE? Everything counts with these small CPUs. I'd be surprised if you can get more than 50Mbps in ideal conditions.
The other common issue w/WireGuard is MTU size mismatches that lower throughput due to fragmentation. I'm no expert w/that... the forum has plenty on it.
Not sure if top would report what the CPU is going through. I usually run a vmstat 1 to look for sys/wait numbers.
Could be that it is just visually dropping in speed, by incorrectly calculating a much too high throughput at the beginning. Never trust initial segments of benchmarks.
This „too much at the beginning and dropping eventually“ of measurements could have something to do with integer-based division and not calculating diff time in microseconds from the start. While counted bits are quickly in the fine grained 7 digit range right at the beginning, elapsed seconds are quite some time in the below 3 digit range, rather coarse grained.
Also empty IO buffers at beginning of enduring network transfer on client and/or server side could cause initially quicker response times at beginning.
On upload the DIR-825C1 with an AR9344 (ath79, mips_24kc, 560MHz) gets 25-30Mbps. Ballpark in line with what you are getting off the Archer A7 (ath79, mips_24kc,720MHz) once you factor in WiFi load. My guess is that is what those SOCs can do.
The E8450 is a completely different, much more modern beast, with a MediaTek MT7622. Nice to see it can do 150Mbps. AFAIK, mvebu (the architecture behind the WRT1900AC) can push about 200Mbps according to a chart somewhere on forums with benchmarks.
No difference in wireguard speed. I have done multiple rounds of testing over Wifi vs Ethernet and with different settings and almost have same results.
I have policy service running on it but it just has one policy rule. I even tested after Stopping this service and tested over Ethernet and Wifi and still have same results.
Additionally, without wireguard I'm getting speeds up to 250 Mbps even over Wifi.
Thanks, this does make sense but the CPU is almost idle in my case as there's only wireguard running on it with one device connected and only testing I did was for speed test so that doesn't justify 80% drop in speeds.
No
I have already tried different MTU settings based on different forum threads.
Could you please provide more information on how to check this? I can test that and verify.
That's some huge difference. How's your experience been with E8450? Do you have any suggested router in range on $150? My main priority is high speed. My main network is Wifi mesh and gets me speed of up to 500Mbps over Wifi so I'm looking only for an additional router to manage few devices over wireguard.
I see same results over Ethernet too if using wireguard. Without Wireguard I'm getting speeds of up to 250 Mbps even over Wifi.
Note how idle (third to last column) idles at near 100 at start. Drops to zero at the same time CPU goes 100% on SYS (kernel). The first chunk is the download test (scored 35Mbps) and the second chunk is for upload (scored 26Mbps). These are typical results for me.
In this case the router is the WG server and an iPhone is the client. All traffic is through Ethernet as there is an access point between the iPhone and the WG server. The router is working on WG and routing and nothing else.
The SOC in the Archer C7 v2 is a little more sophisticated than the DIR-825C2 but not much more. Not sure if it is a dual core (the DIR-825 sure isn't). If you are asking it to do WiFi on top of WG I would expect similar results at best.
Best I got out of wireguard on Archer C7v4 and v5, which are listed with the same CPU, was 65 Mbit/s over LAN and roughly 60 over 5G wifi. So in my experience the 25 Mbit/s is definitely on the low side.
However, my tests have been with OpenWrt's latest stable releases of 18 and 19. So there might've been changes since then that impact wireguard speeds negatively.
Well, if you're in the US, Walmart has had the Belkin RT3200 at $63 for the past few days. Depending on how much you're willing to spend it's pretty reasonable to just grab one for experimentation. (Despite identical internals, my searches show the Linksys E8450 is typically priced almost twice as high as the Belkin, and only differs in that it has a black case instead of the Belkin's white one.)
Experience: I've installed two RT3200s (sister's for almost a year and son's for about 6 months, both as their main routers) and they've been rock solid. I have another one sitting on the desk here (next to a couple x86 routers) that I use for configuration and development experiments, never had any issues with it. (The RT3200 was pressed into service for our main WiFi AP for a couple weeks when I screwed up the standalone WAP.)