Transfer speeds

There are many discussions about the initial exchange of the node IDs, but I am rather curious about the use and handling after that.

Normally a good syncing software is something you set up and then it just works.

I am using it between a PC, 2 Synology NAS (DS210j and DS214play) and a Smartphone. So far, i am quite convinced about Syncthing, all works out for me but the transfer speeds… Upload and download ist not as fast as i would expect. At least when it comes to a large Repository full of pictures in the 3-6 MB range. I am looking at transfer rates below 10 Mbps on a 100 Mbps Network. (Transfer rate with normal Network is always full bandwidth) At least with the DS214play, i was expecting some better transferspeed.

How are your impressions about Syncthing? What download / upload rates do you have?

The CPU usage on your NAS will probably be 100% while transfering data and should be the limiting factor here. To get more speed you should deactivate compression which also uses CPU and is not really needed on LAN. I don’t think you will reach the 100 Mbps of your network but it should definately improve.

I don’t know what speed exactly i have but for me CPU is also limiting it for me on LAN and transferring to my raspberry pi is also under 10 Mbps even without compression, but i don’t really care too much about that.

1 Like

You are correct, the CPU load is at 100%.

Thank you for the tip. I tried it without compression, pretty much the same. Maybe a 15 % increase. I also tried single, big files, but they are not faster. (Trying to compress jpegs, mp3 or Videofiles doesnt make much sense to me, but i can imagine that the compression is useful when it comes to other files)

I even opend an issue once: (https://github.com/syncthing/syncthing/issues/676 ) but I wanted to know experience of other users, maybe with 2 or more powerful PCs in one cluster.

IMHO sending files from a low power CPU should work quite fast, once all the hashing is done. (And i read about Why does syncthing consume so much CPU? )

Greetings ST-Community!

I’m a newbie and very excited about the possibilities given by ST, thank you very much for such a great software. Though i’m a not a pro, syncing TB’s to billions of nodes, it is just a direct sync between my desktop and laptop in my network (LAN <-> WLAN). I’ve just connected them all by default settings, they’re syncing but i’m just curious what the transfer speeds should be by default. I’ve tried digging into a few threads in this forum but it seems there is no standard answer for that (CPU/IO/Network/etc…). Could anybody tell me if i’m reaching any limits with my ~4MiB/s in transfering or am i just messing the units? Are there any quick tips for tweaking regarding the speed?

a few facts:

  • tested with 1,5GB file
  • CPU limits not reached
  • backward and forward same speeds
  • UPnP activated
  • desktop: -CPU: X4 860K @4,2Ghz -SSD -GigLan
  • laptop: -CPU: i7 740Q -HDD @5400rpm -WLAN

I didn’t want to open a new topic so i hope my request is properly set here.

By the way, i love the atmosphere in this forum, great to see the devs out in the wild! Cheers.

Check if it says 'Relayed via ’ or 'Address ’ in the device details box. If it says Relayed via, that means relaying is used which could slow down transfer speeds.

seems to be an adress

I run benchmarks for two extreme cases. The benchmark uses two syncthing instances on the same computer, so a very fast low latency network. The disk is SSD, not infinitely fast but still quite snappy. The two cases are “many files” (50000 tiny files) and “large file” (a single file of several GB) and in both cases the test starts with one side empty and the other scanned and ready to transfer.

For “many files” I usually get a low single digit MB/s result - 4-6 MB/s or so (but that’s still thousands of files per second). The limiting factor here is our database shuffling and just general overhead of handling a file. For “large file” it runs at around 100 MB/s when compiled with Go 1.5; the Go 1.6 betas bring that up to around 300 MB/s if I remember correctly, due to crypto improvements.

So yes, as slow as 4 MB/s is expected under some circumstances. In reality, the actual performance is usually somewhere between the two extremes.

I appreciate the quick replies guys. I think the given dimensions will help other new Users too. But just to clarify, @calmh you mean sourcecode compiled on your mashine and build? Im no coder, low xperienced user thus just using the ppa for install. so i see no potential for me in this case.

By the way, is here anyone in this forum who has given syncthing a chance on ubuntu phone? Ive made it running on a bq e5 through the adb Shell. Next step would be to run the script after restart, keynote upstart…does anyone have xperience related?

I didn’t mean you should download and run the benchmarks, just adding some background on what affects performance and what to expect under variant circumstances.

No worries chief, no benchmarking is planned. Im fairly happy it works quite stable. I will try it in another local network.