Nextcloud 20 with performance issues

Hi guys,

I have tested several different configurations to run my own nextcloud server at home. Unfortunately I am facing performance issues while uploading files. My server specs are:

  • AMD Ryzen 5 3400G
  • 16 GB RAM
  • 250 GB PNY CS3030 NVME
  • Host operating system is Proxmox 6.2
  • External Storage: Synology 218+ with 2x4TB WD Red HDDs

The nextcloud server runs on a Debian 10 virtual machine with 8 cores (2x4) and 8GB of RAM. All test installations were installed on a fresh host installation and I tested with the nextcloud version 20. I tried NGINX and mariaDB as well as Apache and PostgreSQL. All test installations were running with php-fpm 7.4. Speed has been tested via WiFi and Ethernet in my local network.

I followed a couple of different installation and configuration guides, such as the one from Carsten Rieger (https://www.c-rieger.de/ - german documentation) or from Markus (https://markus-blog.de/index.php/2020/06/10/how-to-install-nextcloud-19-on-ubuntu-20-04-with-postgresql-12-php7-4-fpm-apache2-and-http-2/ - this is for Nextcloud 19, but works also for the version 20). I also tried the common tuning tips for php and I always configured Redis.

Unfortunately I am still facing issues with my upload speed which is maximum 50MB/s. I tried to troubleshoot the problem with reading log files and research as well as monitoring with htop and iotop while uploading. I can say that my hardware is not the bottleneck as the CPU is around 30$ in average and the RAM usage is around 750MB. My disks were initally configured on a Synology SMB share which was mounted during the boot. Later I swtiched to local storage of the virtual machine which is running on the NVMe. The upload speed increased just a little, but the NVMe is not the bottleneck either.

At this point I am frustrated because I was expecting more than 50MB/s upload speed and according to my cpu-/ram-/disk-load I think there must be a wrong configuration which is leading to this behavior or is this already the maximum upload speed I can expect from my setup?

Do you have any ideas how to improve the overall speed? I would also be very interested how fast your upload speed is.

One last very strange thing which I found out was that my Arch-Linux notebook couldnt´t upload with more than 4MB/s, my iPad (Safari and the Nextcloud App) with 9MB/s, but my Windows 10 Desktop could upload with 40-50MB/s. But this is maybe just an issue with my notebook and the iPad is obviously only running via WiFi.

I really like nextcloud and I would be more than happy if you could help me to find the issue.

From my experience NC17 was the last nextcloud with 150MB/s+ upload.

tl;dr there is a regression somewhere in the code but you would have to go back to when it last worked and then go through hundreds to thousands of commits to find where it changed. And I can’t be bothered to personally do it.

Hi @Paradox551,

thanks for your fast reply. I will try to install NC17 and check if the performance is increased then, even though I have to admit that I would like to use the current version once my cloud is used in production.

Do you have any specific or important configuration for apache or php? Do you recommend postgresql instead of mariaDB?

Try this one


You can also try to enable BBR, it may help you :slight_smile:

Make sure it’s an older version (like the first or second patch) and not a recent patch.

@rotkohl
@danonanon

Or this version

Many thanks for your recommendations! Unfortunately I haven´t had time to try all of them out yet. I tried installing NC17RC2 and the overall feeling was faster like e.g. navigating through the web gui, but the upload wasn´t faster then 45-50MB/s. I could increase the speed by around 50% with http instead of https but this isn´t a way to go for me.

@danonanon what is BBR :open_mouth:?

@danonanon nevermind … google is your friend :slight_smile: