Distance is the dominant factor
Every packet travels to the VPN server before going anywhere else. Connecting from Berlin to a server in Singapore adds the round trip to Singapore to everything you do, and no protocol choice recovers it.
If you do not need a specific country, pick the nearest server. If you do need a specific country, expect the cost and measure it: the difference between a nearby server and a distant one is routinely larger than the difference between any two providers.
Protocol is the second factor
WireGuard is faster than OpenVPN in most conditions and reconnects almost instantly, which matters more on mobile than any throughput figure. If your client defaults to OpenVPN or IKEv2, changing it is usually the single largest improvement available.
The exception is a restrictive network. OpenVPN over TCP port 443 looks like ordinary HTTPS and gets through places WireGuard does not. That is a reason to keep it available, not a reason to use it by default.
Server load, and why you cannot see it
A server carrying its capacity in users will be slow regardless of distance or protocol. Some clients show a load percentage; most do not, and the number is not independently verifiable where it exists.
The practical approach is to test three or four servers in the country you need and keep the fastest. Peak hours in the server’s local timezone are the worst case, so a server that is fast at 3am in its own timezone may not be at 9pm.
What does not fix it
Encryption overhead is real and small. Any processor made in the last decade handles AES in hardware, and WireGuard’s ChaCha20 is fast even without it. If your VPN is halving your speed, encryption is not why.
Avoid
- Buying a "faster" provider before trying a nearer server and WireGuard
- Multi-hop or Secure Core routing when you have not established you need it — expect to lose a large share of throughput
- Trusting an advertised "fastest VPN" claim, which is unverifiable by construction
- Testing over Wi-Fi, where variance is larger than the difference you are trying to measure