From 1fccf45c83ef8865d611e36842124d8dd5a46288 Mon Sep 17 00:00:00 2001 From: "Quentin McGaw (desktop)" Date: Thu, 16 Sep 2021 11:17:29 -0400 Subject: [PATCH] Simplify bandwidth speeds document --- FAQ/Bandwidth speeds.md | 249 ++-------------------------------------- 1 file changed, 7 insertions(+), 242 deletions(-) diff --git a/FAQ/Bandwidth speeds.md b/FAQ/Bandwidth speeds.md index b732de0..d3a2cac 100644 --- a/FAQ/Bandwidth speeds.md +++ b/FAQ/Bandwidth speeds.md @@ -6,22 +6,19 @@ I ran multiple tests using different clients, servers and regions to clarify all ## Conclusions -### Factors - - The further away the VPN server is, the slower the bandwidth will be - Running Docker on a VM/Windows/OSX brings a serious bottleneck due to virtualization -- Some VPN providers seem to throttle down the bandwidth when you run a speedtest (e.g. Mullvad) +- The VPN protocol (`VPN_TYPE=openvpn` or `VPN_TYPE=wireguard`) have very little impact. Wireguard does have a more significant impact on low power devices though (+15% speeds). - Bandwidth fluctuates during the day due to other VPN clients on a particular server +- Some VPN providers may: + - throttle down the download bandwidth when you run a speedtest (e.g. Mullvad) + - allocate you less bandwidth if you don't use their proprietary software -### Things that don't make much sense +### Investigations -- Only when the VPN server is far away, gluetun is x4 slower than native openvpn +#### OpenVPN -### Additional notes - -- On native Docker, CPU cannot be the bottleneck since we reach 500Mbps with gluetun on a nearby server. -- Gluetun runs `openvpn` installed with `apk add openvpn` and not a custom implementation. One difference that could have an impact is that it's compiled with `musl` instead of `glibc` to be compatible with Alpine, and `musl` is know to have slower raw performance. -- Subscribe to [#134 Support for Wireguard](https://github.com/qdm12/gluetun/issues/134) as that might help increase bandwidth, although the implementation will be in Go and not in Kernel space. +- Only when the VPN server is far away, Gluetun's OpenVPN is x4 slower than native openvpn. This might be due to OpenVPN being built for `musl` or due to other libraries such as `openssl` built for `musl` (Alpine). ## Testing @@ -45,235 +42,3 @@ Summary table: | Montreal | Gluetun on Windows | Gluetun container | 6 | 107 | | Montreal | Openvpn on Windows | Windows | 24 | 355 | | Montreal | Openvpn on Windows | Alpine container | 24 | 375 | - -## France Paris VPN server - -- Gluetun on a Linux host (ryzen 2600x) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.44.9.21)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [6.74 km]: 242.227 ms - Testing download speed................................................................................ - Download: 102.63 Mbit/s - Testing upload speed...................................................................................................... - Upload: 31.85 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.44.9.21)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [6.74 km]: 100.573 ms - Testing download speed................................................................................ - Download: 53.38 Mbit/s - Testing upload speed...................................................................................................... - Upload: 19.45 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.44.9.21)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Networth Telecom (Clichy) [5.52 km]: 101.194 ms - Testing download speed................................................................................ - Download: 26.44 Mbit/s - Testing upload speed...................................................................................................... - Upload: 13.23 Mbit/s - ``` - -- Gluetun on a Windows host (ryzen 5900x + docker desktop with 6 CPUs assigned) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (194.110.113.10)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [6.74 km]: 224.589 ms - Testing download speed................................................................................ - Download: 67.92 Mbit/s - Testing upload speed...................................................................................................... - Upload: 20.48 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (194.110.113.10)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [6.74 km]: 95.131 ms - Testing download speed................................................................................ - Download: 43.82 Mbit/s - Testing upload speed...................................................................................................... - Upload: 18.20 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (194.110.113.10)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [6.74 km]: 95.38 ms - Testing download speed................................................................................ - Download: 59.77 Mbit/s - Testing upload speed...................................................................................................... - Upload: 18.14 Mbit/s - ``` - -- Openvpn on Windows host (5900x all cores) - - ```sh - Speedtest by Ookla - - Server: CCleaner - Paris (id = 16676) - ISP: 31173 Services AB - Latency: 89.82 ms (0.14 ms jitter) - Download: 318.87 Mbps (data used: 477.5 MB) - Upload: 53.07 Mbps (data used: 94.5 MB) - - --- - - Server: GTT.net - Paris (id = 24386) - ISP: 31173 Services AB - Latency: 89.70 ms (0.13 ms jitter) - Download: 174.77 Mbps (data used: 291.0 MB) - Upload: 67.73 Mbps (data used: 117.5 MB) - ``` - -- Alpine container using Openvpn running on Windows host (5900x all cores) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from 31173 Services AB (193.32.126.159)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [2.04 km]: 245.074 ms - Testing download speed................................................................................ - Download: 214.80 Mbit/s - Testing upload speed...................................................................................................... - Upload: 17.91 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from 31173 Services AB (193.32.126.159)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by ORANGE FRANCE (Paris) [2.04 km]: 91.453 ms - Testing download speed................................................................................ - Download: 170.74 Mbit/s - Testing upload speed...................................................................................................... - Upload: 19.31 Mbit/s - ``` - -## Canada Montreal VPN server - -- Gluetun on a Linux host (ryzen 2600x) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.116)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 14.262 ms - Testing download speed................................................................................ - Download: 378.00 Mbit/s - Testing upload speed...................................................................................................... - Upload: 201.33 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.116)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 4.178 ms - Testing download speed................................................................................ - Download: 605.62 Mbit/s - Testing upload speed...................................................................................................... - Upload: 355.75 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.116)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 11.996 ms - Testing download speed................................................................................ - Download: 539.05 Mbit/s - Testing upload speed...................................................................................................... - Upload: 264.76 Mbit/s - ``` - -- Gluetun on a Windows host (ryzen 5900x + docker desktop with 6 CPUs assigned) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.120)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by TELUS (Montreal, QC) [0.35 km]: 43.257 ms - Testing download speed................................................................................ - Download: 51.37 Mbit/s - Testing upload speed...................................................................................................... - Upload: 76.36 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.120)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 28.749 ms - Testing download speed................................................................................ - Download: 127.68 Mbit/s - Testing upload speed...................................................................................................... - Upload: 129.69 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.120)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 20.968 ms - Testing download speed................................................................................ - Download: 145.27 Mbit/s - Testing upload speed...................................................................................................... - Upload: 77.92 Mbit/s - ``` - -- Openvpn on Windows host (5900x all cores) - - ```sh - Server: Connexio - Montreal, QC (id = 31838) - ISP: M247 Ltd - Latency: 24.20 ms (2.15 ms jitter) - Download: 349.96 Mbps (data used: 491.2 MB) - Upload: 219.58 Mbps (data used: 364.0 MB) - - --- - - Server: Connexio - Montreal, QC (id = 31838) - ISP: M247 Ltd - Latency: 2.11 ms (1.94 ms jitter) - Download: 359.86 Mbps (data used: 540.7 MB) - Upload: 319.37 Mbps (data used: 410.8 MB) - ``` - -- Alpine container using Openvpn running on Windows host (5900x all cores) - - ```sh - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.46)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 76.979 ms - Testing download speed................................................................................ - Download: 427.27 Mbit/s - Testing upload speed...................................................................................................... - Upload: 61.39 Mbit/s - / $ speedtest-cli - Retrieving speedtest.net configuration... - Testing from M247 Ltd (89.36.78.46)... - Retrieving speedtest.net server list... - Selecting best server based on ping... - Hosted by Beanfield Montreal 10G (Montreal, QC) [0.35 km]: 24.292 ms - Testing download speed................................................................................ - Download: 321.24 Mbit/s - Testing upload speed...................................................................................................... - Upload: 76.30 Mbit/s - ```