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.