Syncthing Starts Fast then Speeds Drop

I am trying to use Syncthing via a docker container in Unraid to sync files from a remote server to my own. The remote server is 10Gbit, and Syncthing works at 400Mbps+ to other devices in my local network (tested via Syncthing on Synology NAS). On my Unraid server the speeds start at ~250Mbps then drops to 2-5Mbps within 10 seconds. I have a post open on the Unraid forums as well to help if it is related to Unraid/Docker rather than Syncthing.

Server specs

  • Unraid version: 6.9.0-beta35
  • Hardware: Ryzen 5600x with 32GB memory
  • Main array: 4x 14tb 7200rpm drives, 1 set as parity.
  • Cache array: 2x Samsung 970 Evo Plus M.2 500GB

Troubleshooting attempted so far

  1. Set the Unraid share used by Syncthing to public, confirmed I could read and write from/to the share via SMB to a Windows PC at a consistent 110MB/s.
  2. For troubleshooting purposes, set the share to Cache only and confirmed all files are on the cache array.
  3. Ran the “Docker Safe New Perms” tool
  4. Ran Fix Common Problems + Tips and Tweaks - all is as recommended, no issues
  5. Searched the syncthing forums and google, found other references to issues with Syncthing on Unraid but no resolution threads.
  6. Confirmed CPU and Memory are good, both are extremely low usage
  7. Checked the Unraid syslog, no warnings or errors that seem related
  8. Recreated the Syncthing container
  9. Followed tweaking guides - changed tunable (md_write_method) to reconstruct write and tunable (md_num_stripes) to 8192. I don’t think these matter since I have the share set to cache only though.
  10. Verified no smart errors
  11. Set dynamix ssd trim to run daily
  12. Gave full permissions to appdata in case permissions issue - chmod -R 777 /mnt/user/appdata/syncthing/
  13. Confirmed SyncThing versions match (1.11.1 on both sides)
  14. Confirmed UPnP is properly creating the port forwarding on my router (it is forwarding a port above 40000 to my internal port 22000 on the receiver side)
  15. Increased logging and reviewed - found failed to exchange Hello messages warnings, unsure if this is a concern as it relates to slow speeds.
  16. Manually created a port forward on router on receive side: source ip [internal ip of server], external port 22000, internal port 22000
  17. Confirmed Relay is not being used by checking the “Address” section under “Remote Devices” on the sender and receiver side. Both list the IP:Port directly without a “relay://” before them

Any help or tips to resolve this would be appreciated. Thanks in advance!

I suggest you try local storage, and not smb, see how that behaves. Also, syncing small files has a non-trivial overhead per file, so suggest you try a single large file.

I don’t have any speed issues over SMB for regular file copies and haven’t tried SMB with Syncthing. The speed issues are to local storage, both spinning and M.2 drives.

*Edited for clarification

Did you try a single large file?

Yes - the workloads I have tried are between 1 (smallest test) to 60 (largest test) files, each file between 8 and 35GB.

I suggest you try a single large file in isolation

I tested with one file previously and it had the same speed issues. I think I found the fix though and am able to now get a sustained 300Mbit+. Feel free to close this and thanks for the help.

The docker container needed a variable added named UMASK_SET with a value of 000. For others reading this post in the future, I’m using the docker image on Unraid and it appears permissions were the cause of the speed issues.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.