Using a private relay server to speed up transfers

I need to speed up syncthing transfers. I’ve read through the FAQ and firewall documentation. Our local security policy won’t let me install an exposed service which eliminates firewall changes as a way to speed up transfers. I wonder if setting up a private relay will produce a significant speed-up?

Probably not. It’s an extra hop and you probably have the same limitations in connectivity with the relay server. Without more info about the details of your network and how the existing syncing instances are connecting and what kinds of files you’re transferring (lots of small ones, a few big ones?) it’s hard to help.

spoke and hub organization. 3 satellite nodes. Each satellite gets a unique set of files. file size is 500MB. Need to move anywhere from 200 GB/day to 1 TB/day depending on work level.

For an experiment, I set up a direct connection to measure data rate versus the relay network. Here is what I found:

Relay network: 13 G in 24 min. = approx 540 MB/Min Direct connection: 13 GB in 14 minutes == approx 928 MB/min

The hub has a 1 Gb fiber link and the test target has a 100 Mb symmetrical link in the testing, it looks like Verizon may have increased the fiber speed to 150 or 200 MB a second without telling me.

As the test is running, I visually observed about a 5:1 variation on measured speed. 2 Mb/s To 11 Mb/s. Unfortunately, there were no logs or accessible data I could capture to show this variation.

After seeing these numbers, I set up one of our other nodes to have the same pinhole through the firewall. Even though the link for the other note was a 1 Gb link, it actually ran slower than the first test node on the 100 Mb/s plus link.

I can understand why there’s a limit on the transfer rate to the first test node but to the second it doesn’t make much sense. They should’ve been more than enough headroom on the network to handle a higher transfer rate.

q1) any ideas on why we’re seeing such a wide variation on transfer speeds? If we use SSH, we get a very consistent transfer speed.

q2) Any ideas on what could be limiting speed? Speed tests report close to rated speed for all Internet connections in the test. The slowest network internally is 1 Gb. The hub (VM) is connected by 10 Gb and is currently bursting around 250 MB per second to its NAS.

Filesystem I/O, database access, etc. Syncthing does a lot more than just throw data on the wire, for good and bad.

Here are the stats of a VM running a transfer. CPU is low, and the Network and Disk are low compared to other data transfers.

The second image covers a 2-hour time window and shows earlier disk and network activity related to setting up the transfer. The two big network and disk throughput spikes are file copies onto the transfer folder. The second spike (pink on disk throughput) is when syncthing scans the folder.

During transfers, CPU usage is low (12%), and network and disk loads are far below potential peak levels, so what keeps syncthing from transferring faster? My first thought was that the syncthing protocol is latency-sensitive. Second, do I need more than 4G of memory? What am I missing?