I’ve set up Syncthing on a Raspberry Pi 3 to function as a Dropbox alternative. It used the internal SD card on a ExFat partition, so no external disc. The first sync with about 10gb and aprox. 10.000 files took 12 hours over WLAN. I am not sure about the expected performane, but this seems quite bad.
I’ve made sure that they are connected directly (not via a relay) and that the SD card has decent I/O performance. When looking top Syncthing has high CPU usage, then drops down, the exfat.mount uses a bit and then repeat.
I’ve tried to search around but I really have no idea how to diagnose the problem.
Syncthing uses strong encryption, and rpi has a weak cpu, so clearly its not the best device for the job. Also, syncing many small files will always be worse than few large files, because fsync is an expensive operation.
Also SD card isn’t ideal for the db, as they die quicker due to the frequent writes. An external disk would actually be better for that, or you sync it into ram if you have enough (i use any sync daemon for that).
I use RPi for sync as well. It is perfectly fine and well performing for few hundreds GB (on usb attached external hdd). I think in your case the bottleneck is WiFi. Build in wifi card in Rpi3 is real slow. It is always better idea if possible to use normal LAN.
After initial scan (e.g. for 5GB file it takes about 5 min) file is transferred to my laptop on the same local network in in the next few minutes. But as AudriusButkevicius mentioned with small files it will be always slower due to overhead. Try with big file to see if network is not your bottleneck. Also try sftp to see how fast it is.
To give you some numbers to compare. With AC external WiFi card my RPi can reach up to 15 MB/sec transfer to another machine on local network. With LAN it oscillates around 10 MB/sec. With internal WiFi card it can be slower than 1MB/sec.