Nextcloud desktop client attempting to sync large numbers of files that already exist (and doing it very slowly)

Nextcloud version: 12.0.3
Operating system and version: CentOS 7
Apache or nginx version: nginx 1.12.2
PHP version: 7.0.25

Windows 10
Nextcloud client: 2.3.3 (build 1)

I recently uploaded a folder that is about 24 GiB to my Nextcloud server and have been attempting to sync it onto another PC and it was syncing extremely slowly. Often in the single digits of KiB/s, even on the same local network as the server.

In attempt to speed up the process, I SFTPed as root into the server and manually transferred all of the files to the client PC as that could clearly be done much faster than the Nextcloud client, but now the Nextcloud client is still trying to sync all 24 GiB, even though they’re already there. I’m assuming it’s just overwriting them, copying the exact same files over again, and it’s still at abominable speeds.

Is there a way to signal to the client or server that these files I have are the same files as are already on the server so it doesn’t attempt to re-sync them?

Do single files sync faster? Is the problem a lot of small files or a few large files?

Regarding many small files: Verify that you use redis for file-locking, that speed up the upload process. It’s also worth to optimize your database settings. You aren’t as fast as direct SFTP transfers, but on a local network (100 Mbit/s), you should get single digit MB/s.

Regarding large files: Files above 10 MB are split in chunks before being uploaded. This chunking is optimized for rather slow connections, on 100 MBit/s or even 1 Gbit/s, a larger chunk size speeds up the upload: