L9
By:
L9

OpenVPN on VPS (1GB RAM) only getting 50Mbps down on 300Mbps connection

April 27, 2017 546 views
VPN CentOS

I've got a 1GB VPS running CentOS 7 that I am using for OpenVPN from my home. I have a 300Mbps connection, and without VPN I get anywhere between 300-350Mbps. Using PIA the speed drops a bit, but it's still over 300Mbps. If I used my OpenVPN Windows client to my DO VPS it's never more than 55Mbps.

Without VPN I have done a DO speedtest (here) to NYC1 where my VPS is located and it's over 250Mbps. I've also run speedtest-cli from my VPS and it's getting 608Mbps down / 391Mbps up.

So, question is why am I only getting 55Mbps using my OpenVPN client? I've even tried another VPS running Ubuntu, but it performed exactly the same. I'm pulling my hair out!

Any help would be appreciated!

2 comments
  • I forgot to mention that I have also tried adding this to my server.conf in case it was a buffer issue:

    sndbuf 0
    rcvbuf 0
    push "sndbuf 393216"
    push "rcvbuf 393216"

  • I know VPN will impact the speed, but I would expect the same speed I'm getting using PIA VPN, but the download speed is nowhere near. I've checked top, and the %CPU is 14.3 and %MEM is 0.4 during the download test. I know the VPS isn't under performing, not CPU and Memory anyway.

    I've tried different encryption levels, but that doesn't really have a significant impact. I'm using UDP, comp-lza is disabled, and I'm starting to wonder if this is MTU related.

    I'd like to know if anyone else can get faster download speeds using OpenVPN on their droplet?

3 Answers

Hi @L9

You should not expect to get the same speed as a connection without VPN. That being said, it depends a lot on the encryption level you use and amount of CPU power available on the server.

Working with firewalls, you can easily get 1GBit bandwidth on modest hardware, but if you run VPN on the same hardware you get 40-140Mbit. The main reason for the difference in speed coming from whatever encryption level is being used.

I currently can't test anything from my location, because I'm lucky if connections in this country are stable - and if they are, they're not more than 10Mbit.
Maybe someone else will pitch in with their experience on running VPN on DO with higher connection speeds.

@L9

I've honestly not used OpenVPN in some time since being introduced to Algo, which makes setting up a VPN far easier than doing it manually (at least on MacOS -- not tried it on Windows 10 yet).

It provides direct deployment to DigitalOcean, your choice of DC, by simply providing a key.

Algo is IKEv2 only, so you definitely need an OS that supports it -- Windows 10 and MacOS does.

...

I've tested the setup that Algo uses on 60-150 Mbps connections and I consistently receive 98-99% of the connection speed in all three of the NYC data centers (i.e. 60-150 Mbps).

...

Last I used OpenVPN, my results varied from between 50-60% up to 80%, though I never saw what I see with IPSec/IKEv2.

  • @L9

    As a general note, not that it should effect the overall speed or consistency, Algo only deploys 512MB Droplets for the VPN's since they are meant to be throw-away. So my testing for Algo is and has always been on 512MB Droplets.

Have another answer? Share your knowledge.