Speed is important. There’s no denying it. And speed is one of the biggest factors you consider when choosing a VPN provider. But what makes one VPN service fast and another one slow?
Diagnosing a slow VPN connection is not always easy or straightforward. But with the right approach, you can usually work through common issues and improve performance significantly.
In this article, I’ll walk you through the most important factors of VPN speed, as well as give you tips on how to make your current VPN service even faster.
And just in case you don’t feel like reading all 1800+ words, here are the highlights:
Top Tips to make your VPN Faster:
- Start with your own non-vpn connection first. Wifi issues can hamper your overall connection speed, making the VPN slower too.
- Choose the least crowded server or use the auto-connect feature.
- Use PPTP, L2TP or Wireguard protocols if you’re VPN use doesn’t require maximum security.
- Use OpenVPN UDP or Wireguard protocol for best blend of security/speed.
- Choose lower encryption strength. 128-bit encryption is faster than 256-bit.
- Use a wired connection. Speeds will be better than wifi. Always.
- Upgrade your own connection speed. Faster internet means faster VPN connections.
- Upgrade your VPN. Choose a provider known for uncrowded servers and great performance.
Now if you’re ready to look even deeper. Read on…
What affects VPN Speed?
The upload/download speeds you get while connected to a VPN server depend on a bunch of factors. Some of these are controlled by your VPN provider (server speed, server load, routing, available locations, etc). However, your home network and connection choices also make a big impact on speed (available bandwidth, server choice, protocol, router speed, etc).
So let’s rank them in the approximate order or importance:
We’re going to look at each of these in more detail, but let’s look at the two components of speed.
Two factors of speed: Throughput vs. Latency
When I refer to ‘Speed’ in this article, I’m generally talking about bandwidth or throughput which is the amount of data (in bits or bytes or MB, GB, etc) that can be transferred in a specific amount of time (usually per second).
So typically this will be expressed as: MBps (Mega Bytes Per Second) or Mbps (Mega Bits Per Second). These days, server speed is often measured in even larger units; typically Gbps (Giga bits per second). That’s 1000 Megabits (300 3-minute MP3 songs) every second. That’s pretty fast.
Latency is the other component of speed. Latency is the amount of time it between sending a request and receiving a response from a server you’re trying to access (like a website). A VPN will always add latency because it requires your data to be routed to the VPN server before reaching the destination webserver.
Most people won’t even notice latency because:
- It’s measured in milliseconds (1/1000th of a second)
- Your data packets will have approximately the same latency so if you’re streaming something it will all still be in sync, the stream will just reach your device a fraction of a second later that it would without the VPN.
The one area where latency really does matter is real-time gaming, such as FPS (First Person Shooters). If you’re using a VPN for gaming, always try to pick a server location as close as possible to your location or the location of the game server to minimize lag.
VPN Speed Factors: In-Depth
Here’s a more detailed look at the most important speed factors, as well as some tips to improve your own speeds.
The further your data has to travel to reach the VPN server (or to from the VPN server to your intended website/service) the slower speeds will be. Long distances created a number of issues:
- Longer distance = more lost data packets = slower speeds
- Complex peering relationships between countries/networks = slower speeds
- Limited bandwidth of international data tunnels
Lost Packets – Not every bit of data you send will reach its intended destination. Over long distances (1000’s of miles/kilometers) the chance of losing a packet goes up. Lost packets = slower speeds if they need to be resent.
Peering – The internet isn’t one network. It’s actually a series of interconnected networks owned by governments, businesses, and organizations. When data must travel over several of these networks to reach its destination, speeds/latency may decrease due to the peering arrangement (terms/priority by which data is exchanged).
International Bandwidth Limitations – Ever wonder why VPN speeds are so much slower on Australian servers? (if you’re based in the USA or Europe). Sure, it’s due partly to the long distance, but it’s also impacted by the data capacity of the underwater fiberoptic cables linking Australia to other major data networks. The cables can carry a finite (as opposed to unlimited) amount of data at once, which can drop speeds and increase latency.
Server Bandwidth/Server Load
When you connect to a VPN server, you are allocated a certain amount of bandwidth. How much depends on the server setup, and how much data you’re transferring. Some VPN services will cap bandwidth/user at a specific amount. Others will split 100% of the available bandwidth as efficiently as possible between all connected to that server.
Server Load is the amount of total server bandwidth that is currently being used. This is directly correlated to the number of users sharing the server at once.
The avg bandwidth available per user can be estimated by this formula:
Avg bandwidth = Server capacity / # of users
So if you’re connected to a server with a maximum bandwidth capacity of 1000Mbps and you’re sharing the server with 200 other people, there average allocation per user is only 5mbps.
This doesn’t mean you’re actually limited to 5mbps speeds. A VPN that uses ‘smart’ bandwidth allocation will give the most bandwidth to the users that need it most, and since not all users will be using the full 5mbps at all times, there is extra bandwidth available to share among those that need more.
The bottom line: The more bandwidth capacity available in a given server location and the fewer people connected to that server location, the faster your speeds will be.
VPN Protocol (PPTP, L2TP, OpenVPN & Wireguard)
The VPN protocol you choose has a big impact on your speeds. Performance can vary widely based on the protocol you choose. Protocols may have different key lengths (encryption strength) or methods of encryption that impact data rates.
So each protocol will be somewhere along this curve showing the tradeoff of speed vs security.
What protocols are available?
Most VPNs support multiple protocols but sometimes the software client will only support one (usually OpenVPN) or a few. If you want to use an alternate protocol you’d have to configure it manually on your device or use 3rd-party software like Viscosity.
Protocol choice affects speed in 2 ways:
- The efficiency of the protocol itself
- The encryption strength used
PPTP (128-bit encryption) – PPTP is a very lightweight encryption protocol. It is fast but vulnerable (Bruce Schneier estimates a targeted attack can break it within a day). As a result it’s best suited for low-security uses that need fast speeds. Unblocking American Netflix, Hulu, Spotify, or BBC iPlayer would be good examples of acceptable usage for PPTP.
L2TP/IPSEC (256-bit) – L2TP uses very strong encryption, but is generally a slower protocol. OpenVPN will almost always be faster when using the same encryption strength. As a result, most users will opt for OpenVPN instead.
OpenVPN (TCP or UDP)
OpenVPN is the most popular VPN protocol because of it’s flexibility, ease of implementation, and Open Source roots. It is also the easiest protocol to build a desktop VPN app around.
But ease-of-use comes with a performance cost. OpenVPN isn’t exactly lightweight, with over 70,000 lines of code in the latest version. This is a heavy load that adds to your encryption overhead and can dampen performance.
OpenVPN allows multiple encryption strengths (customizable by the VPN adminstrator) but commonly uses either 128-bit or 256-bit encryption algorithms. Some VPNs, like Private Internet Access, give the user full optional control over the encryption algorithm and strength used by their proprietary VPN software.
Most VPNs will give you the choice of TCP or UDP when using OpenVPN:
TCP – Short for Transmission Control Protocol, TCP includes error checking and confirms delivery of all packets. This means it is a more reliable protocol if the delivery of every data packet is essential. It’s also slower.
UDP – User Datagram Protocol is the FASTEST option for OpenVPN, because it doesn’t confirm the delivery of any data packets. It is well-suited for high-bandwidth VPN uses like HD video streaming, or P2P file-sharing with BitTorrent.
Bottom line: When in doubt go with UDP unless you’re having connection issues.
Wireguard is the new kid on the block. It is designed for high-bandwidth performance while maintaining great security, and early testing suggests it’s living up to the promise. In fact, Linux has even adopted Wireguard® as the default VPN protocol or the OS, so it’s gaining wide acceptance.
In our testing, Wireguard® usually has better speeds than OpenVPN.
Currently, only a few companies offer Wireguard VPN® including:
How to properly test VPN speed
Before you can tweak settings and find your performance bottleneck, you need two things:
- An accurate speed testing method
- A baseline
For more detailed instructions, read: How to test your VPN.
The testing setup
We want to create the most ideal test conditions possible, to rule out other causes of slowness such as wifi congestion or an old router. So make sure you use a wired (ethernet) connection for the test.
If doing a browser-based speed test, I find that Firefox browser works best, and you want as few other tabs open as possible. Chrome or Edge are also fine options.
Where to test
There are a number of speedtesting websites, all off which use slightly different methodology. One of the most accurate web-based testing sites is Speedof.me.
But a real-world testing scenario is even better than the best browser test. A BitTorrent client is a fantastic speed testing tool. Just download a well-seeded (and legal) torrent, such as a recent Linux release. Then note the transfer speed on your torrent client window.
Pro Tip: If testing via torrents, remember to convert units. Most torrent clients measure in MegaBytes (big ‘B’) while the websites (and your ISP) meausre in Megabits (small ‘b). Multiply your torrent speed by 8 (the number of bits per byte) to get an apples-to-apples comparison.
How to test
First, get a baseline speed without the VPN connected. This give you an idea of your true internet connection speed (which doesn’t always match what your ISP advertises). Then run a few tests on each of the VPN servers you use most frequently.
Improvements/changes to try
Now that you have a baseline score, it’s time to start tweaking and see if you can improve things. This is the order of changes I like to try.
- Switch servers. Try a closer server, different server, or turn on your VPN’s smart-selection option, which is supposed to choose the ‘optimal’ location (usually a less crowded one).
- Adjust Encryption Strength. Most software defaults to 256-bit encryption (military strength). But this is overkill for the average user. Try downgrading to 128-bit if your provider gives you the option. Torguard and Private Internet Access are two companies with adjustable OpenVPN encryption.
- Switch Protocols: OpenVPN is the default protocol in most clients because it’s a well-known standard and has great security with acceptable speeds. But other protocols might be faster. Wireguard is especially impressive in early testing. PPTP isn’t terribly secure, but your’re not exactly an NSA-level target either. The speed bump might be worth it.
- Fix your wifi: If wired test was fine but performance over wifi sucks, your network setup might be the issue. If you live in a city or apartment building, your network might use the same frequency bands as your neighbors, leading to interference and packet loss. Switch wifi bands, use 5Ghz instead of 2.4ghz, and upgrade to a better router.
And if all else fails…
Get a new VPN (sorry).
If you get 100mbps without the VPN and 15mbps with, your network isn’t the issue and a protocol change isn’t gonna get you a 5x increase. The reality is, many VPN services overload their servers to increase profits. Some cheaper VPNs are famous for this, and even big brands have had a reputation for it.
And don’t get me started on ‘Free’ VPNs. Their speeds are consistently terrible. If not, they may not be encrypting your data at all. It’s just another in the long list of reasons free privacy services should be avoided.
But don’t worry, there are several affordable services that are consistently fast.
Wrap-up and additional resources:
As we learned, there a bunch of factors that impact the speeds you experience when connected to a VPN. Some of them are controlled directly by your VPN provider, but you also a lot of control over how fast your VPN operates.
If you’ve optimized your connection based on this guide and still aren’t getting the kind of speeds you want, you have a couple choices:
- Upgrade your internet speed – Unless you already have a 100mbps+ connection, you can probably get faster VPN speeds just by paying for faster internet service through your ISP. Yes, upgrades are expensive but until we get free unlimited internet access beamed from outer-space you’re at the mercy of your local internet provider.
- Switch to a faster VPN – Some VPN services are just plain Faster than others. Whether it’s their users/server ratio or their network, optimization, not all VPN services are equal. Fortunately we’ve tested the fastest VPNs for you already!
Thanks for reading, and make sure to check out all our VPN Tutorials or learn everything you need to know about VPN technology.
- June 19, 2020
- Improved section on factors that impact performance
- Added Wireguard protocol
- Added section on speedtesting
- Added featured image
9 thoughts on “What affects VPN Speed (and how to make your VPN faster)”
When will you publish speed comparisons for openvpn on router vpn providers?
That is an interesting idea. We could do that with the AC68U, but truthfully most VPNs will be pretty similar on a router-based speedtest because the limiting factor is the router CPU, not the speed of the VPN.
My downloads won’t start can you tell me why is it the rent it’s self
What kind of downloads? Torrents? Regular HTTP downloads? Are you using a VPN?
Im creating my VPN using VPS services. my question,
Which is the most influence VPN speed? Cpu core or Port speed?
The 3 most important factors in order are:
If you have a slow connection without the VPN, that is your #1 limiting factor.
I didn’t find a closer server to be faster.
The connection speed is faster in Australia rather
than in my own region.
Isps throttle down connections when they believe
Downloading illegal content is involved.
So I won’t know if it’s one or the other affecting
You forgot the compression level. Hi powered cpus can compensate by compressing the data before sending it.
Would be interesting to know out of the protocols which one has the fastest ping rather than bandwidth if they were all on the same network. Also would be good to know the speed of L2PT without encryption compared.