80% lower bandwidth with Wireguard reddit / selfhosted ---------------------------------------------------------------------- flodes80 · 2023-12-02 14:59 Hello everyone, I installed WireGuard on a vps Ionos server (xs 1 vCore, 1GB RAM and 10GB SSD) via pivpn (for ease of installation). I left pivpn installation as default (I didn't touch it), I just chose WireGuard obviously and OpenDns DNS. I have a good connection at home (1Gb/s ethernet) and my vps Ionos has a 3Gb/s connection. Here's the speed test of my wired home pc: Your download speed is 939 Mbps (117390278 Bytes/s). Your upload speed is 477 Mbps (59681201 Bytes/s). Your ping is 9.83 ms. Here is the speed test of my vps Ionos: Idle Latency: 14.76 ms (jitter: 0.08ms, low: 14.66ms, high: 14.89ms) Download: 3116.40 Mbps (data used: 2.6 GB) 32.80 ms (jitter: 2.73ms, low: 14.99ms, high: 61.37ms) Upload: 1861.39 Mbps (data used: 2.1 GB) 50.57 ms (jitter: 5.48ms, low: 14.81ms, high: 69.87ms) Packet Loss: 0.0% and here's the speed test of my pc when I connect to the Wireguard Vpn installed on my vps: Your download speed is 143 Mbps (17914856 Bytes/s). Your upload speed is 126 Mbps (15827860 Bytes/s). Your ping is 25.399 ms. Here are the pivpn / wireguard debug logs: ::: Generating Debug Output :::: PiVPN debug :::: ============================================= :::: Latest commit :::: Branch: master Commit: 701a817fed23e302b91b7677b81c5919fc4ec3f1 Author: kokomo123 Date: Tue Nov 7 14:46:43 2023 -0500 Summary: refactor(core): Change wording on the window (#1779) ============================================= :::: Installation settings :::: PLAT=Ubuntu OSCN=jammy USING_UFW=0 pivpnforceipv6route=1 IPv4dev=ens6 install_user=lepereforeur install_home=/home/lepereforeur VPN=wireguard pivpnPORT=51820 pivpnDNS1=208.67.222.222 pivpnDNS2=208.67.220.220 pivpnHOST=REDACTED INPUT_CHAIN_EDITED=0 FORWARD_CHAIN_EDITED=0 INPUT_CHAIN_EDITEDv6= FORWARD_CHAIN_EDITEDv6= pivpnPROTO=udp pivpnMTU=1420 pivpnDEV=wg0 pivpnNET=10.214.112.0 subnetClass=24 pivpnenableipv6=0 ALLOWED_IPS="0.0.0.0/0, ::0/0" UNATTUPG=1 INSTALLED_PACKAGES=(dnsutils grepcidr net-tools bsdmainutils iptables-persistent wireguard-tools qrencode) ============================================= :::: Server configuration shown below :::: [Interface] PrivateKey = server_priv Address = 10.214.112.1/24 MTU = 1420 ListenPort = 51820 ### begin beelink ### [Peer] PublicKey = beelink_pub PresharedKey = beelink_psk AllowedIPs = 10.214.112.2/32 ### end beelink ### ============================================= :::: Client configuration shown below :::: [Interface] PrivateKey = beelink_priv Address = 10.214.112.2/24 DNS = 208.67.222.222, 208.67.220.220 [Peer] PublicKey = server_pub PresharedKey = beelink_psk Endpoint = REDACTED:51820 AllowedIPs = 0.0.0.0/0, ::0/0 ============================================= :::: Recursive list of files in :::: :::: /etc/wireguard shown below :::: /etc/wireguard: configs keys wg0.conf /etc/wireguard/configs: beelink.conf clients.txt /etc/wireguard/keys: beelink_priv beelink_psk beelink_pub server_priv server_pub ============================================= :::: Self check :::: :: [OK] IP forwarding is enabled :: [OK] Iptables MASQUERADE rule set :: [OK] WireGuard is running :: [OK] WireGuard is enabled (it will automatically start on reboot) :: [OK] WireGuard is listening on port 51820/udp ============================================= :::: Debug complete :::: I've tried several devices at home with WireGuard and get the same result every time. I've also checked CPU usage on my vps during vpn usage (via the htop command) and the CPU doesn't exceed 20% usage. I tried all possible combinations (from 1280 to 1420 in steps of 10). Here are the results obtained by trying to change the MTU values: [https://imgur.com/a/52iRc9R](https://imgur.com/a/52iRc9R) As you can see, I can't exceed 200Mb/s or so. (used this script: [https://github.com/nitred/nr-wg-mtu- finder](https://github.com/nitred/nr-wg-mtu-finder)) So I don't understand where this could be coming from. Does anyone have any ideas? Thanks in advance! ---------------------------------------------------------------------- EquivalentBrief6600 · 2023-12-02 15:13 Depending on your OS it could be CPU maxing out? Run top and watch during Speedtest on the vps ---------------------------------------------------------------------- user3872465 · 2023-12-02 15:19 single session wg is limited to one thread. probably one core maxing out. With my Mikrotik router I max at 300mbit ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 15:30 Run iperf3 test between your PC and the VPS to determine bandwidth on this connection first. Let me know the results. ---------------------------------------------------------------------- flodes80 · 2023-12-02 15:31 I checked top during speed test and same result (20% cpu usage max) ---------------------------------------------------------------------- flodes80 · 2023-12-02 15:31 How can I be sure of that ? ---------------------------------------------------------------------- flodes80 · 2023-12-02 15:37 Here are the results: ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from XXXX, port 53530 [ 5] local 192.168.1.43 port 5201 connected to XXXXX port 53546 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 84.4 MBytes 708 Mbits/sec [ 5] 1.00-2.00 sec 94.5 MBytes 792 Mbits/sec [ 5] 2.00-3.00 sec 76.2 MBytes 639 Mbits/sec [ 5] 3.00-4.00 sec 81.3 MBytes 682 Mbits/sec [ 5] 4.00-5.00 sec 85.4 MBytes 717 Mbits/sec [ 5] 5.00-6.00 sec 91.3 MBytes 766 Mbits/sec [ 5] 6.00-7.00 sec 96.7 MBytes 811 Mbits/sec [ 5] 7.00-8.00 sec 101 MBytes 848 Mbits/sec [ 5] 8.00-9.00 sec 89.5 MBytes 751 Mbits/sec [ 5] 9.00-10.00 sec 85.4 MBytes 717 Mbits/sec [ 5] 10.00-10.01 sec 1.06 MBytes 757 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 887 MBytes 743 Mbits/sec receiver ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 15:42 This was over wireguard or public interface? What's max single core usage on your PC when running bandwidth test over wireguard? ---------------------------------------------------------------------- flodes80 · 2023-12-02 15:47 This one was over public interface I've got about 15% single core usage on my PC running bandwidth test over wireguard ---------------------------------------------------------------------- user3872465 · 2023-12-02 15:47 Look at a single thread in Htop, it shows usage by core. ---------------------------------------------------------------------- flodes80 · 2023-12-02 15:52 Here is the screenshot of htop during speedtest [https://imgur.com/a/KAFH3BN](https://imgur.com/a/KAFH3BN) ---------------------------------------------------------------------- user3872465 · 2023-12-02 15:56 Interesting. Not sure then. Possibly also bandwidth limits of the VPS provider. ---------------------------------------------------------------------- flodes80 · 2023-12-02 16:00 Maybe idk, I'm going to contact them to know if they put any bandwidth limit on udp or specific ports through their firewall ---------------------------------------------------------------------- srzita · 2023-12-02 16:00 I think the low performance can be due to only having 1 core. Therefore the Linux kernel can only run one program at once (and therefore you will have a performance penalty depending on how many processes you have executing alongside wireguard). You can try to increase the "nice" value of the Wireguard process but that can compromise other processes' performance. The best solution is to upgrade the VPS to have at least two cores. ---------------------------------------------------------------------- flodes80 · 2023-12-02 16:11 Maybe, but why does my cpu not exceed 15/20% utilization then? ---------------------------------------------------------------------- ewpratten · 2023-12-02 16:13 I've encountered this exact issue with some Vultr VMs. It seems like they do some traffic shaping/ QoS on UDP traffic. Maybe you are seeing a similar problem? ---------------------------------------------------------------------- flodes80 · 2023-12-02 16:14 I don't know, I'm just wondering, how can I be sure? ---------------------------------------------------------------------- NewDad907 · 2023-12-02 16:21 I just tested with Tailscale. Around 700mpbs (87 MB/sec) without Tailscale With Tailscale: 285mbps (35 MB/sec) Yeah, these things really do cut into bandwidth. ---------------------------------------------------------------------- flodes80 · 2023-12-02 16:24 That sounds a bit like me actually, what do you mean by "those things"? Do you also use a vps as a vpn? ---------------------------------------------------------------------- NewDad907 · 2023-12-02 16:34 Well, Tailscale is built on Wireguard. It’s just the nature of the tech that it drastically cuts into bandwidth. Much like normal VPN. ---------------------------------------------------------------------- Malossi167 · 2023-12-02 16:42 Might also be a peering issue. Either your or their ISP limits the connection. Some ISPs are notorious for that and it can be a pain to diagnose. ---------------------------------------------------------------------- pimenteldev · 2023-12-02 16:49 I don't have the actual up/down speeds between the devices but I'm running into the same issue. Plex heavily throttles when passing through tailscale + locally hosted headscale. My network isn't the problem because I have 1Gb/500Mb up/down. I'm wondering if it could be resolved with another VPN implementation or if the Oracle Free tier is the bottleneck. ---------------------------------------------------------------------- Simplixt · 2023-12-02 16:51 *" my vps Ionos has a 3Gb/s connection."* Are you sure? The speed of the normal 1€ Ionos is "up to" 1 Gbit/s, while not guaranteed. ---------------------------------------------------------------------- user3872465 · 2023-12-02 17:00 its not about them limiting it intentionally. Its about them not having enough bandwitch on a certain device for example. If they have 30 User VMs on a Server with it having a 10g link they will probably over provision it. So you may sometimes get 1g but you sometimes may only get 500m. 800m is absoulutly fine. Thers nothing you can do and nothing they will do ---------------------------------------------------------------------- I_EAT_THE_RICH · 2023-12-02 17:03 I'm lucky to get 8mbit on OpenVPN ---------------------------------------------------------------------- flodes80 · 2023-12-02 17:09 I think I've found the cause of the problem; I did two iperf3 tests; one in tcp and the other in udp. The tcp is perfect (over 800Mb/s), but the udp protocol is limited to about 200 Mb/s. As Wireguard uses the UDP protocol, I can't go beyond the limit... This seems to be due to my vps, which doesn't allow UDP bandwidth of more than 200Mb/s. Perhaps protection against attacks? I don't know... I'll check with my vps host. ---------------------------------------------------------------------- flodes80 · 2023-12-02 17:10 Check my speedtest in my initial post about my vps ;) ---------------------------------------------------------------------- Simplixt · 2023-12-02 17:13 I've seen it, and I've the same Ionos VPSwith the normal 1Gbits connection . So still the question: How to I get one with 3Gbits? I can't see it in their offerings ;) ---------------------------------------------------------------------- flodes80 · 2023-12-02 17:16 I have no idea, maybe your server isn't hosted in the same datacenter. I chose France because I live in France. I just chose the XS VPS and nothing else. It also said 1Gb/s on the product page. ---------------------------------------------------------------------- djbon2112 · 2023-12-02 17:20 VPN software always has a fairly significant overhead. Remember the path here (where "client" is your side and "server" is the remote side just for simplicity): 1. Your packet has to hit the network interface of the VPN client and be processed fullly by its network stack. 2. The packet has to be passed to the VPN program. 3. The program has to do it's processing, encryption, etc. 4. The program has to send the encrypted, now larger, packet out the interface again. 5. The packet has to traverse the Internet and reach the remote. 6. The same process as 1-4 to decrypt the packet. 7. The packet has to be sent out the server interface to head out to the actual destination. 8. Everything happens in reverse for the reply. You're adding a ton of hops and steps in there versus a bare connection from your machine to a remote system, a lot of extra processing, and likely a very different route to the destination. All of this will will significantly cut into the overall performance especially when you're getting into hundreds of Mbps. ---------------------------------------------------------------------- Simplixt · 2023-12-02 17:23 You could run this script, that tests against different locations and also your CPU performance https://github.com/masonr/yet-another-bench-script I get 220Mbits with my Ionos via WireGuard, but here my home network is the bottleneck with just 250Mbit maximum speed. ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 17:26 I'm getting 7-8Gbps between two Linux hosts with Tailscale on a 10Gbps interface, it depends a lot on the latency. ---------------------------------------------------------------------- Oujii · 2023-12-02 17:31 Kernel WireGuard is a lot faster than the userspace WG used on Tailscale. ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 17:34 It may be due to buffer length, check: [https://github.com/esnet/iperf/issues/1501](https://github.com/esnet/ iperf/issues/1501) Did you see? [https://www.procustodibus.com/blog/2022/12/wireguard-performance- tuning/](https://www.procustodibus.com/blog/2022/12/wireguard- performance-tuning/) ---------------------------------------------------------------------- RedditW0lf · 2023-12-02 17:39 Easiest way would be to spin up a VPS with another provider like DigitalOcean and see if you get the same results. They charge per hour so should let you do some tests. I have a feeling IONIS is traffic shaping or maybe disables hardware encryption acceleration to discourage crypto mining (but it's also getting your wireguard caught up) ---------------------------------------------------------------------- smartguy05 · 2023-12-02 17:44 Is that 20% total or 20% for each core? If you have 4 cores and the app is single threaded you theoretically can only max use 25% of the processor total, even if you are using 100% of a core. ---------------------------------------------------------------------- flodes80 · 2023-12-02 17:46 >DigitalOcean I think you're right, I just did a simple test with iperf3 in UDP mode (like wireguard). When my server acts as a server, I get a throughput of 200Mb/s When my PC acts as a server, I get a throughput of 500Mb/s. So I guess my vps is throttled ... I'll contact my host to see if they can do something. ---------------------------------------------------------------------- NewDad907 · 2023-12-02 17:50 Cool. ---------------------------------------------------------------------- flodes80 · 2023-12-02 18:51 Thanks for the links, I've been looking and testing different stuff. In particular, changing the buffer length. I put 64000 as indicated in the issue but I think it completely breaks the test in view of the results and the warning at the beginning of the message. Result on the server side: root@ubuntu:~# iperf3 --udp --client xxxx -b 0 -l 64000 warning: UDP block size 64000 exceeds TCP MSS 1448, may result in fragmentation / drops Connecting to host xxxx, port 5201 [ 5] local xxxx port 57422 connected to xxxx port 5201 [ ID] Interval Transfer Bitrate Total Datagrams [ 5] 0.00-1.00 sec 381 MBytes 3.20 Gbits/sec 6250 [ 5] 1.00-2.00 sec 442 MBytes 3.71 Gbits/sec 7240 [ 5] 2.00-3.00 sec 443 MBytes 3.71 Gbits/sec 7260 [ 5] 3.00-4.00 sec 423 MBytes 3.55 Gbits/sec 6930 [ 5] 4.00-5.00 sec 449 MBytes 3.76 Gbits/sec 7350 [ 5] 5.00-6.00 sec 438 MBytes 3.68 Gbits/sec 7180 [ 5] 6.00-7.00 sec 431 MBytes 3.62 Gbits/sec 7060 [ 5] 7.00-8.00 sec 475 MBytes 3.98 Gbits/sec 7790 [ 5] 8.00-9.00 sec 453 MBytes 3.80 Gbits/sec 7420 [ 5] 9.00-10.00 sec 500 MBytes 4.19 Gbits/sec 8190 - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-10.00 sec 4.33 GBytes 3.72 Gbits/sec 0.000 ms 0/72670 (0%) sender [ 5] 0.00-10.02 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) receiver Client-side result: ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from xxxx, port 55260 [ 5] local 192.168.1.43 port 5201 connected to xxxx port 57422 [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-1.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) [ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-10.02 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/0 (0%) receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- The default value seems to be 1448 or something like that as I find the same results with it. I managed to deduce it somehow but it doesn't help me any more. ---------------------------------------------------------------------- flodes80 · 2023-12-02 19:01 I only have one core so 20% of whole cpu or one core is the same here I think ---------------------------------------------------------------------- quan27081982 · 2023-12-02 19:23 maybe ISP is throttling certain traffic during peak hours ---------------------------------------------------------------------- Absentmindedgenius · 2023-12-02 20:43 Yeah, I don't know about that. I have a VPN set up between my friend's network and mine, and it pulls less than 100mb/s, but when I take my PC to his place and connect, the client runs closer to 900 mb/s. I figure his router just can't handle the encryption load, or he has a bad setting somewhere. But the VPN companies just have drastically lower bandwidth because they don't have enough bandwidth. ---------------------------------------------------------------------- Minecon724 · 2023-12-02 21:17 and the other side? ---------------------------------------------------------------------- conamu420 · 2023-12-02 21:31 I would say its most probably also because of the 1 vcore you have. VPN traffic of one gbit is not just handleable by a small vps, if you would use wireguard on udp or openvpn on tcp, it would still be slow as traffic need to be encrypted and vps typically also dont have access to hardware accelaration for this. ---------------------------------------------------------------------- conamu420 · 2023-12-02 21:34 You did the speedtest on the server? So i guess the download speed may not be limited too much but the public ip where your server is hosted may be ratelimited. Could be that they use a different backbone network for general downlaod traffic or even caches for things like linux packages. ---------------------------------------------------------------------- conamu420 · 2023-12-02 21:36 Software encyrption is expensive on cpu side. Did you seriously expect having a vpn without any bad side to it? Why tf do you need so much vpn bandwidth? Maybe you should look for another option like tunnels instead of full vpn services. If you just need some kind of secure file transfer you could go with an ssh tunnel through a bastion host and scp onto the target storage server. ---------------------------------------------------------------------- conamu420 · 2023-12-02 21:37 Because it can use hardware acceleration which msot of the time is not available on VPSs ---------------------------------------------------------------------- conamu420 · 2023-12-02 21:37 why should it? UDP literally doesnt care. ---------------------------------------------------------------------- Oujii · 2023-12-02 21:38 I mean, that’s not really the reason. WireGuard vs Tailscale on a VPS will be faster on WG, with or without HW acceleration. ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 21:44 I haven't mentioned UDP anywhere in my comment, I'm talking about actual production workload - heavily loaded PostgreSQL cluster with streaming replication. ---------------------------------------------------------------------- flodes80 · 2023-12-02 22:02 I don't know, I don't know enough about it, but in that case why doesn't my CPU exceed 20% utilization if I'm limited by it according to you? ---------------------------------------------------------------------- CAP_NET_ADMIN · 2023-12-02 23:13 Okay I can see now where the confusion is stemming from, I was talking about latency affecting my TCP over Wireguard bandwidth (PostgreSQL), and /u/conamu420 was probably talking about Wireguard itself. ---------------------------------------------------------------------- NewDad907 · 2023-12-02 23:43 Jesus, y’all need to self host some brains. I’m being downvoted for literally confirming that encrypted tunnels using Wireguard (in my case Tailscale which is built on top of the Wireguard protocol) slow traffic. ---------------------------------------------------------------------- conamu420 · 2023-12-03 00:04 haha sry man. All cool :) ---------------------------------------------------------------------- Salt_MasterX · 2023-12-03 00:32 Wireguard is much lighter on cpu than openvpn ---------------------------------------------------------------------- Starmina · 2023-12-03 03:58 And in udp ? ---------------------------------------------------------------------- Starmina · 2023-12-03 04:10 I can’t remember if kernel usage is shown in total usage in top , or htop. But it seems you can see kernel threads with shift+K , just watch if it’s saturate something during an iperf test. Also you can try https://github.com/orhun/kmon?cmdf=kmon+kernel which is basically htop for kernel. Honestly I’m really not sure about that but I had issue in the past, where I couldn’t figure out why wg was so slow, and cpu wasn’t maxed out. It turned out (IIRC) that it was somehow « « « hidden » » »  in kernel threads . I could be terribly wrong , but anyway at the end of the day, for me, it was just the CPU that weren’t powerful enough. In your case, the limit seems very weird, I can’t think it’s just a limitation over UDP. (well you could try a regular iperf in udp without WireGuard to be sure) . And also 200mbps is what I would expect from WG w/ only 1vCPU honestly. Ofc 1vCPU doesn’t mean anything and I don’t know it’s power at all. ---------------------------------------------------------------------- BlueBird1800 · 2023-12-03 10:45 I couldn’t quote you the numbers anymore, but I was running Wireguard on a single core AWS VPS. I always had very low indicated CPU usage, but performance wasn’t the best when trying to move larger amounts of data. I bumped the VPS core count and it was quite an improvement with each increase. I believe performance increased up to 6 cores with 4 being the “best bang for the buck” scenario. ---------------------------------------------------------------------- Goned75 · 2023-12-04 16:41 Same issue here with IONOS - same VPS. I have try with 2 connections to the VPN Wireguard and 200Mbps limit...sound like throttle or...cpu limit. ---------------------------------------------------------------------- Goned75 · 2023-12-04 17:38 I have just try with VPS S model (2 vCPU) and same result. Look like UDP throttle.... ---------------------------------------------------------------------- flodes80 · 2023-12-04 20:09 So yes, it's clearly a bandwidth limitation on the UDP protocol. And not a hardware (CPU) limitation. ---------------------------------------------------------------------- Goned75 · 2023-12-04 20:13 When you have more info from IONOS please let me know. ---------------------------------------------------------------------- flodes80 · 2023-12-04 20:16 Np 🙂 ---------------------------------------------------------------------- Goned75 · 2023-12-06 00:49 I have also contacted IONOS support. So is confirm to me has no throttle on our VPS. I have sent mtr and iperf as asking from support, wait and see...but I dont understand why we are limited by 200Mbps. To compare, VPS on OVH with 500Mbps working well but is not allowed to have VPN on VPS... ---------------------------------------------------------------------- flodes80 · 2023-12-06 06:22 For my part, I sent them several Iperf tests to prove that there was indeed a limitation on their part. They are currently analyzing this to understand why and to explain it to me. ---------------------------------------------------------------------- flodes80 · 2023-12-07 21:38 I've heard back from ionos that it must be either the iperf test server I'm using or my vps configuration is too weak. The first option seems implausible, as I've tried different servers and got the same kind of results all the time. However, I've taken a vps xl to test and I'm getting much better speeds with a better hardware configuration. The thing I don't understand is why when I monitor via the htop command I don't see any aspect of my hardware that seems to be limiting. I'm going to try openvpn to see if I can get better performance (I don't have much faith in it, but when in doubt). ---------------------------------------------------------------------- Goned75 · 2023-12-07 22:02 >I've heard back from ionos that it must be either the iperf test server I'm using or my vps configuration is too weak. > >The first option seems implausible, as I've tried different servers and got the same kind of results all the time. However, I've taken a vps xl to test and I'm getting much better speeds with a better hardware configuration. The thing I don't understand is why when I monitor via the htop command I don't see any aspect of my hardware that seems to be limiting. > >I'm going to try openvpn to see if I can get better performance (I don't have much faith in it, but when in doubt). Hum...interesting...but weird. How many speed you have with XL ? For the price of XL...better way to paid VPN services...