Closed bugreport here: https://github.com/nextcloud/server/issues/9736
Anyone here reached higher than 30MB/s with Nextcloud?
Nextcloud is awesome in everything but speed for copying large files, am looking for a way to improve it.
Have caching setup per documentation, tried fiddling with nginx/php settings without joy.
Edit: when monitoring a file transfer I see high CPU usage pegged at one core for processes of nginx and php-fpm.
I have a setup with similar computing power (running Apache without FPM) and tried to transfer a file with around 20GiB. Sometimes the upload would go up to more than 40MB/s but rarely stay that high. I also noticed that one Apache process constantly maxed out one CPU core.
I have fiddled with the exact issue lately and I have tuned any possible setting - at least to my knowlegde. However, I do think that these limitations come from SabreDAV, which is the WebDAV server NC deploys and I haven’t found anything particular useful for tuning Sabre/DAV for higher throughput with large uploads. Since my throughput speeds also seem to stall somewhere around 35 MB/s, there seems to be some general issue with that and it’s nothing you can get around tweaking Apache or Nginx.
I have the same issue. For me, seems like a router bottleneck. When i upload/download large amount of data from my nextcloud, router cpu (Asus rt-66u) is loaded to 100%. There is no speed problems using samba o.o (i get full 1Gbps speed, router cpu don’t hit 100% load).
Seems like you did reach more then 30MB/s then … Firefox is using the WebDAV backend of NC of course, just a little bit of protocol extensions like junking … so in your case the limiting factor seems the cyberduck client to me …
Can you try another Webdav client like for example Windows integrated Webdav implementation (probably not a good choice anyway but should be OK for testing) or Netdrive or WinSCP? There are surely a few more clients, but maybe you can find a difference in them already.
Well… I just learned something weird… on my home network, my NC instance, hosted on a VMWare 6.5 guest running Debian/Nginx, is able to upload ond download via Firefox with 100 MB/s, where as my NC instance at work, hosted on a Xen-Cluster running CentOS/Apache doesn’t go beyond 25 - 30 MB/s.
The thing is, both of them are configured equally, as far as the NC/redis/MySQL settings are concerned. And even today, where there is only very little load on the NC instance at work, there’s no higher throuput than in the busy hours.
I will probably setup another NC instance using Debian/Nginx to cross-check that on my work environment…
Yeah - in fact I already set up two different NC instances, one on Ubuntu with php-fpm and one on CentOS 7.5 with php-fpm. Both installations yield approx. 30 MB/s, when uploading/downloading via the NC web interface.
…and the CentOS one really is a powerful machine, with lots of RAM and a hell of drives (36 x 8TB running ZOL with 128 GB of RAM).
Bottle neck is most likely ssl and the fact that you hit single core performance. Here, xeon is slower than most desktops, since it is optimized for multicore use and also usually has lower CPU frequency.
I got better performance with php-fpm and all redis.
Form the Windows host:
Download with Firefox: 15-16 Mbit/s
Down- and Upload with Cyberduck: 8-9 Mbit/s (webdav)
Down- and Upload with WinSCP: 8-10 Mbit/s (webdav)
Down- and Upload with WinSCP: 15Mbit/s (sftp)
From the Nextcloud virtualbox: wget --user admin --password tOpSecrET2018 https://192.168.56.101/remote.php/webdav/VMware-VMvisor-Installer-201701001-4887370.x86_64.iso --no-check-certificate
-> 50-60 Mbit/s
The file is a 300MB iso image. And there no other files in this Nextcloud.
Everything is running on the same laptop. No “real” network involved.
The laptop is an actual model with 8gb ram and ssd disc. But Nextcloud installation takes 34 min vs. 5 min on the EC2 machine.
I actually set up my latest server using your Ansible playbook. (And I wanted to create an issue already, since its missing the php-ldap component, but I got drawn away from that before hitting the Sumbit button…).
I do have to back-off a bit, as one of my colleagues just told me, that he uploads and downloads to our new NC server at 100 MB/s, which is as fast as it goes on his 1GbE connection, whereas my MBP still maxes out at 25 to 30 MB/s. Hosts are on the same network and even on the same switch for that matter.