I know there are many slow speed posts, but I’ve followed those instructions and no difference.
I’ve installed Syncthing on my mother’s Windows machine. M intention is that her F drive get’s synced to my server, and my server is a ZFS machine running snapshots and secondary backups.
However, transfer speeds are painfully slow. I think the max it reached was 5MBps, but right now it’s sitting at 620KiB/s
Technical information
Mother’s machine:
Windows 10
F Drive is an NVMe drive.
500Mbps/500Mbps fibre internet
located in the UK
Linux server:
Linux (Ubuntu 22.04 LTS)
Docker, but Syncthing is in ‘host’ mode
16TB ZFS Mirror
300Mb/300Mb fibre internet
Located East Coast USA
Both communicate via Tailscale. I’ve bound Syncthing to only use these links, and disabled other options. When I run iperf directly over Tailscale I get roughly 15Mbits/sec - When I tried with all connectivity options before, including relays, I also never saw this value go higher than 5Mb/s
I get the same speeds even when I changed to ‘Largest First’ to ensure I’d be transferring some 4-8GB files. It still takes forever.
I’ve run this now for 10 days and a total of 300GB has been transferred.
I’ve tried adjusting that to 131072 (128 MiB) and 65536 (64MiB) but I’m still getting the exact same speed. Now sitting at 615KiB/s using the 131072 value
During the iPerf test, which side was the client/server?
Have you also run a jitter test with iPerf to check connection quality? (Although the endpoints are on fiber and/or coax, the transatlantic portion of the trip could either be via undersea cables or satellite.)
Sometimes Tailscale’s NAT traversal and other techniques to establish a direct tunnel connection between two peers doesn’t work out, so then Tailscale drops back to using relays (default mode), which obviously would slow things down considerably.
On a related note, I’ve been able to saturate every network link I’ve tried while using WireGuard and Tailscale (you may already be aware that Tailscale is built on top of WireGuard). At my workplace, I set up a WireGuard VPN behind a symmetric 1 Gbps fiber link, so WireGuard’s claim of being one of the fastest VPNs definitely seems warranted.
With iPerf maxing out at 15 Mbps, there’s definitely some heavy latency, jitter, and/or something else going on with the link.
Given the iPerf results, the use of relays was definitely a possibility. If you don’t mind sharing the iPerf output, it could be helpful (you can redact the CGNAT IP address Tailscale uses for each host).
Since both you and your mom have plenty of bandwidth to spare, to get at least somewhat closer to 15 Mbps, increase the number of connections (numConnections) Syncthing can make. It’s not a solution to the core speed issue, but it should (in theory) give a boost.
Managed to make a big dent in this. Didn’t realise I had to set NumConnections both sides. So called my mother up and walked her through changing it on her side. I’ve set it to 25 on both sides, and right now I’m seeing sustained 40Mbps - So while it’s still not saturating it, its at least 8 times faster than before so I’ll take it