External storage upload very slow

Nextcloud version: 15.0.5.3
Operating system and version: CentOS 6
Apache or nginx version: Apache 2.2.15
PHP version: 7.2.16

The issue you are facing:

Upload to external storage is very slow (about 220 KByte/s).
It’s SFTP and manual upload from my nextcloud host to the external storage (sftp cli) has about 9 MByte/s. As a result, quota on my nextcloud host is filled by temp files in $datadir/$user/upload/.
Killing all php processes and restarting redis doesn’t help.

Apart from the issue being fixed i.e. fast uploading, a way to debug this would be useful, and a way to size constrain the upload directory, so the nextcloud instance doesn’t suffer from exceeded quota.

Is this the first time you’ve seen this error? : Yes

logs

The output of your Nextcloud log in Admin > Logging:

...
{"reqId":"...","level":3,"time":"2019-04-01T11:59:28+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"...\/cron.php","message":"Can't get app storage, app files_external, user not logged in","userAgent":"--","version":"15.0.5.3"}
{"reqId":"...","level":0,"time":"2019-04-01T11:59:28+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"...\/cron.php","message":"Finished OC\\Command\\CommandJob job with ID 5747 in 1 seconds","userAgent":"--","version":"15.0.5.3"}
{"reqId":"...","level":0,"time":"2019-04-01T12:00:31+00:00","remoteAddr":"...","user":"$user","app":"no app in context","method":"PUT","url":"...\/remote.php\/dav\/uploads\/$user\/83dd2074b84abccdc5ec7895b6fc29e0\/0000000000000000-0000000010239999","message":"No cache entry found for \/$user\/uploads\/83dd2074b84abccdc5ec7895b6fc29e0\/0000000000000000-0000000010239999 (storage: home::$user, internalPath: uploads\/83dd2074b84abccdc5ec7895b6fc29e0\/0000000000000000-0000000010239999)","userAgent":"Mozilla\/5.0 (Android) ownCloud-android\/3.5.1","version":"15.0.5.3"}
...

The output of your config.php file in /path/to/nextcloud:

<?php
$CONFIG = array (
  'instanceid' => ...,
  'passwordsalt' => ...,
  'datadirectory' => ...,
  'overwritewebroot' => ...,
  'overwriteprotocol' => 'https',
  'dbtype' => 'mysql',
  'version' => '15.0.5.3',
  'dbname' => ...,
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => ...,
  'dbpassword' => ...,
  'htaccess.RewriteBase' => ...,
  'installed' => true,
  'forcessl' => true,
  'loglevel' => 0,
  'cron_log' => true,
  'theme' => '',
  'maintenance' => false,
  'trusted_domains' => 
  array (
    0 => ...,
    1 => '....uberspace.de',
  ),
  'mail_smtpmode' => 'sendmail',
  'secret' => ...,
  'updatechecker' => true,
  'overwrite.cli.url' => ...,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '.../.redis/sock',
    'port' => 0,
    'dbindex' => 0,
    'timeout' => 1,
  ),
  'trashbin_retention_obligation' => 'auto',
  'updater.release.channel' => 'stable',
  'preview_max_x' => 512,
  'preview_max_y' => 512,
  'mail_from_address' => 'nextcloud',
  'mail_domain' => ...,
);

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

...
[Mon Apr 01 14:04:56 2019] [warn] [client ...] (70008)Partial results are valid but processing is incomplete: mod_fcgid: can't get data from http client
[Mon Apr 01 14:06:01 2019] [warn] [client ...] (70008)Partial results are valid but processing is incomplete: mod_fcgid: can't get data from http client

access_log:

$ip - - [01/Apr/2019:12:21:55 +0200] "PUT .../remote.php/dav/uploads/$user/22d63899b6217b40fab329e97ca761b7/0000000020480000-0000000030719999 HTTP/1.1" 201 - "-" "Mozilla/5.0 (Android) ownCloud-android/3.5.1"
$ip - - [01/Apr/2019:12:22:04 +0200] "PUT .../remote.php/dav/uploads/$user/22d63899b6217b40fab329e97ca761b7/0000000030720000-0000000040959999 HTTP/1.1" 201 - "-" "Mozilla/5.0 (Android) ownCloud-android/3.5.1"
$ip - - [01/Apr/2019:12:22:14 +0200] "PUT .../remote.php/dav/uploads/$user/22d63899b6217b40fab329e97ca761b7/0000000040960000-0000000051199999 HTTP/1.1" 500 274 "-" "Mozilla/5.0 (Android) ownCloud-android/3.5.1"