I’m running nextcloud hub 20.0.7 in a snap installation on an fujitsu Q900 under Debian GNU/Linux 10 (buster), Kernel: 4.19.0-14-amd64 x86_64, /dev/sda is an SSD 860 EVO 250GB. The System has 16GB Ram. CPU is Intel Core i5-2520M.
The cloud has nearly 100000 files and some 61 GBytes PDF documents in a large Callibre Library.
The problem is, that the sync process of the desktop client (a faster machine than the cloud server) needs a very long time to check whether there are any changes to sync. When there are files added to the calibre library on the desktop - it needs 15-30 minutes before the files are replicated in the cloud because there are thousands of files checked before the data transfer starts.
Is it possible to speed up the sync process by using hashing of files or folders for faster comparison?
Are there any caches which could be optimized, assigning more RAM to processes etc.?
Yes, hashing would speed up the sync process but the Nextcloud server doesn’t support hashing currently, afaik.
You could maybe think about upgrading to NC21, use the notify_push app there and upgrade to PHP 8.0.
More ressources on the server side often help as well.
I have around 75.000 files and my client (version 2.6.5) starts in less than 1 minute when I am logged on to my local network. And my server is not a “monster”, some fan-less 2-core 2GHz AMD system with data on harddisk and server software on SSD.
If I add a file locally it syncs immediately. How many files do you add before syncing?
Are all 100.000 files in the same directory?
Which version of the client are you running?
Which operating system on the client?
Yes use the caches, also set up your database caches correctly, there are tools to help you to find the right parameters (we had this several times on the forum). However, I’m not sure how much snap let’s you configure and tune stuff.
And you need redis cache. And it probably helps a lot when you have many clients connected.
Right, I didn’t see that.
Everything what I’ve written about isn’t possible with snap.
You can just hope that the maintainer eventually decides to do all those things for you.