Webdav transfer speeds is horrible

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version (eg, 20.0.5): 28.0.5
Operating system and version (eg, Ubuntu 20.04): Ubunt 22.04

The issue you are facing:

Uploading via webdav happens at max 20 kbps while scp or anything else to the nextcloud happens much faster (1Mbps or up), web interface is fast as well.

Uploading a directory with many files is much slower then a single big file

Tested on Linux and Windows clients

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. mount nextcloud over webdav
  2. copy some data in subdirectories

The output of your Nextcloud log in Admin > Logging:

nothing relevant

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'instanceid' => '***',
  'passwordsalt' => '***',
  'secret' => '***',
  'trusted_domains' => 
  array (
    0 => '***',
    1 => '***,
  ),
  'datadirectory' => '/var/lib/nextcloud/data',
  'dbtype' => 'pgsql',
  'version' => '28.0.3.2',
  'overwrite.cli.url' => '***',
  'dbname' => '***',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => '***',
  'dbpassword' => '***',
  'installed' => true,
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 5,
  ),
  'trusted_proxies' => 
  array (
    0 => '10.0.100.1',
    1 => '127.0.0.1',
    2 => '::1',
    3 => '10.0.100.14',
  ),
  'forwarded_for_headers' => 
  array (
    0 => 'HTTP_X_FORWARDED_FOR',
  ),
  'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpport' => '26',
  'mail_from_address' => 'cloud',
  'mail_domain' => '***',
  'tempdirectory' => '/var/lib/nextcloud/tmp',
  'maintenance' => false,
  'maintenance_window_start' => 1,
  'loglevel' => 0,
  'updater.release.channel' => 'stable',
  'allow_local_remote_servers' => true,
  'mail_smtphost' => '***',
  'app_install_overwrite' => 
  array (
    0 => 'impersonate',
    1 => 'mailnotifier',
  ),
  'lost_password_link' => 'disabled',
);

The output of your Apache/nginx/system log in /var/log/____:

not relevant

Mount how? What WebDAV client are you using?

web interface is fast as well.

The Web UI uses WebDAV for uploading and downloading as well.

I used the built in webdav in windows 10, kde’s dolphin, cadaver on the cli and davfs2 on Linux, they all have similar upload speeds.

I know, as does the Sync client yet all of those are acceptable in speed but webdav outside of them is slow. There sare some other threads on that but never a solution

BTW, I can replicate that to 3 Nexcloud servers on different environments as well. On premise, remote. All seem to have a maximum of 70/80 kbps over webdav but high throughput over others

And you’re n

ot mixing up kilo/mega BYTES versus kilo/mega BITS, correct? (I’m not sure what you’re using to measure).

I can replicate that to 3 Nexcloud servers on different environments as well. On premise, remote.

Can you share a bit about your reverse proxy setup? Are any elements of it shared between your different environments?

I know, as does the Sync client yet all of those are acceptable in speed but webdav outside of them is slow. There

So what’s different about the official clients (Desktop, Web UI) versus the other third-party clients you’re attempting to use? Are they all going via HTTPS? Do their connections to Nextclou dall resolve to the same IP address? etc.

Yes, not mixing them up, I actually used two testsets of data on each instance and timed them as well. Over webdav, it takes nearly ten times as long to upload versus web (1h15m versus 7m)

On one server, there’s a haproxy in front, on the others there’s an nginx in front. Both do ssl termination. 3. is the ip of the local host which I need to test something.

The reverse proxy however is there as well for web as the client as third party clients. I always use the public url over https, and when I switch from which source network it doesn’t change the problem.

The difference is always there. Could you test what upload speeds you get on yours with a webdav client vs web?