ProtonVPN has a long history of developing new solutions to complex and difficult problems, including ways to defeat attempts to block VPNs and advertisers tracking users across the internet. As a company created by scientists who met at CERN, we have a strong culture of research and development, and we have recently leveraged this to significantly increase VPN speeds with a new feature called VPN Accelerator.
VPN Accelerator improves VPN connection stability and can increase our VPN speeds by over 400% in certain situations. Thanks to this new technology, you can always enjoy the best possible VPN speeds when using our service.
VPN Accelerator is enabled by default, works on all ProtonVPN apps, improves performance for all VPN protocols, and is available for all users.
How does VPN Accelerator work?
VPN Accelerator is unique to ProtonVPN and comprises a set of unique technologies developed internally by our research team to better leverage our large network capacity.
ProtonVPN’s capacity across our networks, which we are constantly expanding, currently exceeds 1 terabit per second (1,000 Gbps) and is one of the largest VPN networks in existence. For comparison, SwissIX, the largest internet exchange point in Switzerland, has a daily average network capacity of 80 Gbps.
However, capacity is just one element of VPN speed, and it is often not the limiting factor for VPN performance. Below, we look at how VPN Accelerator can unlock even higher VPN speeds by overcoming other limiting factors.
Overcoming CPU limitations
Server CPU speed is often a limiting factor because many popular VPN protocols (including OpenVPN) do not use multithreading. This means the CPU power of a single core on the server processor becomes the limiting factor for speeds.
ProtonVPN solves this problem by using multiple OpenVPN processes per server to fully take advantage of multi-core processors. However, this alone is not enough to fully address the problem unless the load is properly distributed between the multiple processes. Otherwise, a single CPU thread could become overloaded.
To resolve this, we have re-engineered OpenVPN so that sessions can be evenly distributed to all running OpenVPN processes, eliminating the possibility of a single thread becoming overloaded. Similar techniques are also applied by other VPN protocols.
Latency and TCP congestion
TCP (transmission control protocol) carries the bulk of the world’s internet traffic. TCP goodput is inversely proportional to latency and packet loss, which is why internet speed tests usually select servers as close to you as possible.
The number of useful bits of information delivered within a certain time. Goodput can be calculated by dividing the size of a transmitted file by the time it takes to transfer the file.
Establishing connections to very distant servers can result in low TCP speeds. This has nothing specifically to do with using a VPN, but connecting to a VPN can amplify this issue by increasing the length of the end-to-end path from your device to the final server.
To give an extreme example, if you were in Switzerland, connected to a server in New Zealand, and visited a website in the US, your traffic would travel most of the way around the world, resulting in approximately 600 ms of round trip delay (RTD) latency.
We cannot increase the speed of light or bring New Zealand closer to Europe, but VPN Accelerator addresses the issue by breaking up the 600 ms path into shorter paths (for example, two 300 ms paths). Much faster goodput is possible on each of the shorter paths, resulting in higher combined performance over the entire path.
To achieve even higher speeds, VPN Accelerator also uses a TCP delay-controlled TCP flow control algorithm called BBR along each path. On longer paths or congested networks there is often some level of packet loss. BBR recovers faster from packet loss and also ramps up quicker (that is, it achieves maximum speed faster when a data transfer begins).
For high latency servers, or when there is packet loss, the performance increase can be game-changing. The performance gain is less noticeable when connected to a nearby server with perfect connectivity. In the example below, we see that even with just 1.5% packet loss, BBR provides a 100x performance improvement compared to other congestion control algorithms.
Improving “forwarding” efficiency
Most TCP congestion algorithms are quite sensitive to gaps or sudden delays in packet forwarding. It is therefore important to reduce any risk of a stall (a small duration where packets are either queued or dropped) as these stalls result in a strong reduction of TCP pacing and subsequent performance.
As part of our work on VPN Accelerator, ProtonVPN’s research and development team also addressed protocol-specific issues that can lead to stalls. For example, there are inefficiencies in the OpenVPN and IKEv2 core code that can sometimes cause the control socket to be blocked. By offloading interprocess communications to custom-written “companion” processes, we were able to eliminate this class of stalls.
Usually, each ProtonVPN server processes more than 100,000 packets per second, which adds up to a significant amount of CPU time. By modifying the Linux network stack on our servers, ProtonVPN circumvents the normal packet processing path for “known traffic,” leading to a significant increase in speed and decrease in latency.
Lastly, ProtonVPN avoids the virtual servers, virtualization, or containers used by many other VPN services. Our entire infrastructure is installed on bare-metal servers, eliminating the need to forward encrypted packets between virtual machines or containers and their host machines. This further reduces latency and boosts speed.
How you can benefit from faster VPN speeds
Under normal usage, VPN Accelerator can increase connection speeds by 400% or more — particularly when connecting to more distant servers.
Because VPN Accelerator is built into all ProtonVPN apps, you don’t need to do anything to take advantage of this unique technology. VPN Accelerator also allows different VPN protocols to achieve similar performance. So, for example, with VPN Accelerator, OpenVPN with ProtonVPN offers similar performance to the usually much faster WireGuard.
Under ideal network conditions, VPN Accelerator may not make any improvement on performance. However, more often than not, network conditions are less than ideal. With ProtonVPN, no matter which server you connect to or where you are, you will always automatically get the fastest speeds possible.
Yes, although the greatest gains are made when you access a service that is located far from your real location. If you connect to a server that is geographically near you, you may not see significant speed improvements.
Yes. This is because there are no real downsides to using VPN Accelerator, but very real advantages under the right circumstances. You can, however, manually enable or disable the feature in most of our apps. See How to use VPN Accelerator for details.
Yes. VPN Accelerator will improve speed performance regardless of whether you use OpenVPN TCP, OpenVPN UDP, WireGuard, or IKEv2 VPN protocols.
Feel free to share your feedback and questions with us via our official social media channels on Twitter and Reddit. Note that while blog comments also remain open, questions and feedback will not be responded to individually. Where relevant, we will incorporate the most frequently asked questions or comments into a blog update.