Slow upload Speed over Webinterface

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): 22.2.0.2
Operating system and version (eg, Ubuntu 20.04): Ubuntu 20.04
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.41
PHP version (eg, 7.4): 7.4

The issue you are facing:
I am having problems with my Upload Speed, over the Webinterface. (30 MB/s)
Download is at about 60 MB/s and so is the Upload over SFTP (WinSCP)

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

Steps to replicate it:

Everytime I Upload

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

<?php
$CONFIG = array (
  'passwordsalt' => 'removed',
  'secret' => 'removed',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'removed',
    2 => 'removed,
    3 => 'removed',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
  'version' => '22.2.0.2',
  'overwrite.cli.url' => 'removed',
  'dbname' => 'nextcloud_db',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'removed',
  'dbpassword' => 'removed',
  'installed' => true,
  'instanceid' => 'removed',
  'upgrade.disable-web' => true,
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '2',
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  'mail_smtpmode' => 'smtp',
  'remember_login_cookie_lifetime' => '1800',
  'log_rotate_size' => '10485760',
  'trashbin_retention_obligation' => 'auto, 60',
  'versions_retention_obligation' => 'auto, 180',
  'simpleSignUpLink.shown' => false,
  'filelocking.enabled' => true,
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.5,
    'dbindex' => 0,
    'password' => 'removed',
  ), 
  'default_phone_region' => 'ch',
  'logtimezone' => 'Europe/Amsterdam',
  'htaccess.RewriteBase' => '/',
  'maintenance' => false,
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'auth.webauthn.enabled' => false,
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'removed',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'removed',
  'mail_smtpport' => '465',
  'mail_smtpname' => 'removed',
  'mail_smtppassword' => 'removed',
  'skeletondirectory' => '',
);

Compare to the Nextcloud webdav in order to know the influence of the interface itself.

Nextcloud data transfers are linked with database operations, so you won’t reach the speed of SCP. And 30 MB/s is not bad, so you can try to optimize the database part (cachings etc.) to speed it up, but tuning at this level is not obvious.
The Nextcloud desktop client recently added some trick to combine uploads of several small files to speed up this part.

I already tried all the caching and database settings i could find.

I tried with the Desktop client and was able to achieve up to 45 MB/s but still only 30 over webdav, i guess i will have to live with 30 MB/s over web, as you said its not to bad, still a little more would be nice

People report of having like ~50% of the SCP transfer rate or theoretical. I don’t know what is really doable, if you can still improve a lot, let us know what you did.