Jump to content
Not connected, Your IP: 216.73.216.120
Sign in to follow this  
xxnovosxx

Very low throughput on WireGuard via Gluetun Docker (9 MB/s vs 80 MB/s without VPN)

Recommended Posts

Hello,

I’m having trouble with very low download speeds when using AirVPN (WireGuard) through the Gluetun Docker container, and I’m hoping for some guidance or pointers on what to check next.

### Setup

- Host OS: Linux (Docker host)
- VPN client: qmcgaw/gluetun Docker image
- VPN_TYPE: wireguard
- VPN_SERVICE_PROVIDER: airvpn
- Gluetun is used as a “VPN gateway” container for my download stack.
- Applications:
  - qBittorrent (behind Gluetun)
  - SABnzbd (was also behind Gluetun, now temporarily bypassed for testing)
- Location: Germany
- ISP speed (real, without VPN): ~80 MB/s down on the same machine

In Gluetun I pass the WireGuard parameters from the AirVPN config:

- WIREGUARD_PRIVATE_KEY = <PrivateKey from [Interface]>
- WIREGUARD_PRESHARED_KEY = <PresharedKey from [Peer]>
- WIREGUARD_ADDRESSES = <Address from [Interface], e.g. 10.x.x.x/32>
- WIREGUARD_ENDPOINT_PORT = 1637
- SERVER_HOSTNAMES or SERVER_REGIONS used to select servers (mainly DE/NL)

### What works

The connection itself comes up fine:

- Gluetun logs show:
  - WireGuard setup is complete
  - Public IP address is an AirVPN IP (usually NL/DE)
- DNS is working, healthcheck is green.
- Traffic from containers behind Gluetun does go through the VPN (confirmed by IP checks).

### The actual problem: speed

When my download applications (especially SABnzbd) are routed through Gluetun/AirVPN via WireGuard, I only get about **8–10 MB/s** download speed.

However:

- Without AirVPN / without Gluetun (direct connection), using the same host, same Usenet provider and same test downloads, I get around **80 MB/s**.
- If I take SABnzbd out of the VPN (normal Docker network, SSL directly to my Usenet provider), I’m immediately back at ~80 MB/s.

So the bottleneck appears to be specifically the AirVPN WireGuard tunnel / routing, not my hardware, not Docker, and not my Usenet provider.

### What I have already tried

1. **MTU tuning**

   - I tested path MTU and ended up setting:
     - `WIREGUARD_MTU=1380` in Gluetun.
   - Before MTU tuning I was down in kB/s.
   - After setting MTU to 1380, speeds improved to ~9 MB/s, but that’s still far from the ~80 MB/s I get without VPN.

2. **Different servers / regions**

   - I first used `SERVER_REGIONS=Europe` / `SERVER_COUNTRIES=Germany`.
   - I then switched to **specific servers** with `SERVER_HOSTNAMES=<server>.airvpn.org` (mainly DE/NL servers with low load according to the AirVPN status page).
   - In all cases, the WireGuard tunnel works, but the throughput is stuck around 8–10 MB/s.

3. **Local checks**

   - Host CPU/RAM/IO are fine.
   - No container resource limits that would explain the cap.
   - The same host and same downloads without VPN consistently hit ~80 MB/s.

### What I would like to know

- Is there any **known routing or peering issue** between German ISPs and certain AirVPN DE/NL servers when using WireGuard?
- Are there **recommended optimal settings** (MTU, ports, specific servers or protocols) for high-throughput WireGuard usage with Docker / Gluetun?
- Would you recommend trying **OpenVPN UDP** instead of WireGuard in my situation, and is it expected that WireGuard might perform worse in some routes?
- Are there any additional **debug logs or tests** you would like me to run from my side (e.g. mtr from inside the tunnel to certain locations, specific AirVPN servers to test, etc.)?

I fully understand that there is overhead and that I won’t necessarily get 100% of my line speed through a VPN, but dropping from ~80 MB/s without VPN to ~9 MB/s with AirVPN WireGuard is quite drastic. I’d be very grateful for any suggestions on how to troubleshoot or improve this.

If needed, I can provide:
- anonymized Gluetun logs,
- specific server names I tested,
- and speedtest outputs from inside the VPN tunnel.

Thank you in advance for any help or hints!

Yes i got help from AI english is not my first language

Share this post


Link to post
13 hours ago, xxnovosxx said:

After setting MTU to 1380, speeds improved to ~9 MB/s


Hello!

Please set MTU to 1280 bytes and test again. If the problem persists please test from the host, without containers, to determine whether it's a GlueTun specific problem or not. Keep MTU to 1280 bytes and increase at small steps.

Kind regards
 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Security Check
    Play CAPTCHA Audio
    Refresh Image
Sign in to follow this  

×
×
  • Create New...