I am currently running Nextcloud on an Odroid N2 SBC. Things are going well and I am happy with the setup as I move away from Google services.
I am wanting to dump a lot of data as far as things like pictures, stuff I have saved into the Nextcloud data folders. I am concerned about speed, things can be slow when navigating through many pictures. I’m sure my upload comes into play right now it’s only 10mbps.
My question is what is the best hardware, or what are the areas that will speed things up the best. I am thinking about using x86 hardware with a decent cpu/fast drive etc. but want to get the most out of my money.
CPU: is nextcloud single core, should I be looking for a cpu with high clocks?
Storage: Would I benefit from putting everything on an NVME drive?
Any other recommendations on how to get the best results would be great.
Pictures in the webinterface trigger the generation of preview images which can slow down a lot of things. To see the impact, you should see the difference of a folder that you have visited before compared to a new folder with freshly uploaded pictures. To help with that, previews can be pre-generated by cronjobs (the nextcloudpi-project does such tricks to speed up the performance of the Raspberry pi).
RAM can make a difference if used correctly. There are the caches (redis, apcu) for php, and you can also optimize the caches of your database. This can make a huge difference in the data transfer speed.
From NC21, there is the push notification high speed backend (Setting up Files (High Performance Backend) - #6 by nursoda).
That certainly isn’t limited by your disk. If you have decent amount of RAM and the caches set up correctly, the network connection is the limit rather than disk speed.
For the processor, I honestly don’t know. After optimizations, you can check the CPU usage a bit for that.
Thank you this is certainly helpful. I run nextcloud on dietpi. Similar to nextcloudpi. I’ll look into setting up cron jobs. I did notice the thumbnail loading. And wasn’t sure if that happened every time or could be done once. I had dumped so many pictures in there at once I hadn’t given it a chance to all load.