Slow Transfer Speeds on Android

The Basics
  • Nextcloud Server version (e.g., 29.x.x):
    • 31.0.9
  • Operating system and version (e.g., Ubuntu 24.04):
    • Windows and Android
  • Web server and version (e.g, Apache 2.4.25):
    • Caddy
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • caddy (2.0?)
  • PHP version (e.g, 8.3):
    • current AIO release
  • Is this the first time you’ve seen this error? (Yes / No):
    • No
  • When did this problem seem to first start?
    • Since installation
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

I have an internet connection with (speedtest-cli) 250 Mbit/s Download and 110 Mbit/s Upload on my debian server machine. It hosts Nextcloud all-in-one with the current release via docker compose and with Caddy as reverse proxy.

From a windows PC in the same network, as the server, I get >10 MByte/s Up- and Download from the browser and similar numbers from the Windows client. I consider this okay, though one could assume ~30 MByte/s would be possible, if even the internet access is this fast.

My problem, though, is, that I only get ~1,5 MByte/s file transfers in both directions from Android phones via internet, not local wlan. Both in the via a browser link opened in the firefox app (and through the client app).
Speedtesting on the phone yields ~100 Mbit/s download. I couldn’t yet find an upload test on the phone, but even the download should far exceed, what I see on the NC file transfers.

I want people to share photos with me via NC (and I want to share with them), but the upload & download is so slow, that even 10-30 images take hours to complete ..

How can I investigate further and debug, where the bottleneck is?

Do you do connect direkt via https from Mobile Network to your NC or with somewhat inbetween, like Wireguard?

It’s directly accessible with port forwarding from the web. At this time, I don’t use wireguard or another vpn or any other service in between. Only a DynDNS service to resolve the changing IP and then a connection to the server.

Why not simply use also speedtest-cli for that? Just install it on your Linux-Notebook connect that Notebook via WiFI-Hotspot to your phone and start the test?

This way you may also use scp to upload files to debian server machine. scp will show speed in MB/s.

Ah,.. good idea. After I got notified from your post and read only the first bit, I tried the speedtest app (which I kinda didn’t want to download, but yeah..) and it really has the missing upload speed. Confirming my assumptions: phone goes by 250 Mbit/s download and 20 Mbit/s upload. So still 2,5MByte/s would be possible to upload, but I see a maximum of 1,5 MByte/s. Also I tried yesterday from a wifi network and it was much slower than 1,5 MByte/s. I will test it again tomorrow from another external wifi, which I know is much faster in both directions.
However, the question still stands: how can I analyze more closely, why I see quite slow upload speeds on the nextcloud via android/phones.