Slow VPN speeds, is MTU worth looking or do you suggest an alternative?

Hello

Trying to determine why I’m getting slow VPN speeds over OpenVPN and WireGuard. I understand my speeds are limited by the upload speed on my home network, but it’s pretty dismal.

My set up is as follows

Home: Flint 2, 1.2Gbps down, 100Mbps up

Second VPN Server (relative’s home): Brume 2 (behind another router), 1Gbps down, 40Mbos up

Travel Location: BerylAX, 1Gbps down/up

On both the Flint 2 and Brume 2, I have set up OpenVPN and WireGuard. I’ve also tested wired connection from a laptop to the Flint 2 and Brume 2 and they’re both able to pull close to the speeds I quoted for each location, specifically, the Flint 2 reports between 70-80Mbps upload and the Brume 2 reports around 30-40Mbps upload.

In theory, the travel location should not have any issues getting max speeds, considering the internet connectivity there, and a wired connection test to the Beryl AX gets me speeds of 800Mbps down and 600Mbps up on average.

However, regardless of which protocol I use, OpenVPN or WireGuard, speed tests on the Beryl AX when connect to either the Flint 2 or Brume 2 gives me about 10Mbps down and ~3Mbps up. At times it could up up to 20Mbps down

Only once in the last couple of days, did I even hit ~30Mbps down. When that happened, I was tweaking the MTU on the BerylAX as I read some articles that suggested it, but it was such a tedious process, I settled on one after just trying a couple. I would have continued, but what makes me skeptical is that a couple of days later, I noticed my speeds were back to ~15Mbps.

Any suggestions on how I could troubleshoot this setup to potentially significantly improve my VPN speeds? Thank you!

The maximum download speed you’re going to get is 40 Mbps because that’s your server router’s upload speed. You understand that right?

If you want to see some improvement, stop using OpenVPN and use Wireguard instead. And of course use wired connections everywhere possible instead of WiFi.

I try the mtu change, it didn’t make any difference for me. I am still troubleshooting.

When you run a speed test you are only testing the speed to the closest test node. You aren’t testing the bandwidth between your home and the remote travel location. Try running a speed test where you select a destination server close to the other endpoint and see what the throughput is like. For some destinations the bandwidth may 10mbps or less even with a gigabit connection…

I understand that I would get 40Mbps max if I were connected to the Brume 2, but that 40Mbps speed was when it was connected to the Flint 2, which had an upload speed of 100Mbps. Should I be getting higher than 40Mbps in that case?

To clarify, the Flint 2 and Brume 2 are connected to 2 different internet sources. It’s was more of a backup, in case the primary (the Flint 2), had issues.

how wide were the ranges you played with?

Not sure I understand. When I’m connected to VPN, my laptop, for example, identifies my location as that of where the VPN server (home) is, not my travel location. So when I run speed tests, it’s testing with the server that’s close to my home/server, and my current location.

In this scenario, wouldn’ the speed test be indicative of the speeds I would be pulling on my travel router?

The way a VPN works is that the server’s upload speed becomes your download speed at the client end. So even if you have 1 Gbps download speed at the client location you’re not going to get more than 40 Mbps.

Digital Nomad VPN Tutorial using Wireguard or Tailscale explains this

I did the command to scan for packet and try to get close to the range. For mine it sit at 1444.

Yes it would.

What may be a better test though would be to do an iperf3 test between your remote device on your remote router to a device local to your VPN server router.

This doesn’t help you increase speeds, but it will give you a more accurate speed test between your devices rather than

Remote device - > travel router - > VPN server router - > speed test server

Iperf3 removes the last part, and potentially even the first part if you can do it directly on the router (never tried but assume there’s probably a plug in)

Yes, but only when you are connected to the VPN. In order to see what the throughput is without the VPN (the maximum you will get no matter how fast both ends are) you need to do a speed test between the two hosts, or a close approximation.

I get that piece. What I am saying is that I have 2 locations set up as VPN servers:

Primary (Home): Flint 2, 1.2Gbps down, 100Mbps up

Secondary (relative’s home): Brume 2 (behind another router), 1Gbps down, 40Mbos up

I completely understand when my travel router is connected to secondary, that my max download speed will be 40Mbps because the max upload speed on the Secondary is 40Mbps.

But why isn’t my max download speed on the travel router closer to 100Mbps when it is connected to Primary, which has a max upload speed of 100Mbps?

So I assume you managed to do the PING test and it came up with MTU 1416 (1444-28)?

Do you have a guide on that?

Google it, it just some cmd command in windows.