u/ElPaul0

Hi everyone,

I've been trying to improve my Nextcloud transfer speeds and I'm a bit stuck. Here's my setup and what I've tested so far.

My setup:

  • Windows 11 host with Docker Desktop (WSL2 backend)
  • Nextcloud running in Docker with PHP-FPM + Nginx
  • External storage mounted via local mount (not SMB anymore)
  • Uplink speed: close to 1 Gb/s
  • Raw disk read speed: ~500 MB/s

The problem: When downloading files from Nextcloud remotely, I'm capped at around 30 Mb/s regardless of the file size or type. I also tested with a file stored on Nextcloud's internal storage (not external), same result.

What I've already tested/ruled out so far:

  • ✅ Switched from standard Nextcloud (Apache) to Nextcloud FPM + Nginx - no improvement
  • ✅ NPM (Nginx Proxy Manager) is not the bottleneck - same speed bypassing it via Wireguard
  • ✅ Disk read speed is not the bottleneck (~500 MB/s raw)
  • ✅ PHP memory/upload limits are fine (512M)
  • ✅ External storage is not the issue (same speed with internal storage)
  • ✅ SMB from the same server gives ~50 Mb/s, so the network itself can do better than 30
  • ⚠️ WSL2 networking overhead is suspected but not confirmed

My suspicion: WSL2's virtualized network layer might be adding overhead, but I'm not sure how to work around that without switching to a bare Linux install.

Has anyone managed to get significantly better speeds with a similar Docker/WSL2 setup? Or is there any Nextcloud/PHP-FPM tuning I might be missing?

Thanks!

reddit.com
u/ElPaul0 — 17 days ago