Since you’re seeing lower than configured: setting a limit doesn’t guarantee it will reach it. There may be other bottlenecks. Otherwise: screenshots, so we can see what’s going on. A common error is confusing the various bits- and bytes-based units that can be used for display and the configuration which is in kibibytes per second.
you are right saying the transfer rate is not always at the upper edge, it depends on the filesize and also what’s up in your system during the transfer and so on…
But why should there be a bottle neck only during the limitation and when I end the limitation the bottleneck is gone, so it can only be Syncthing, right?
You define the limit with KiB/s but while the transfer/sync is running it is shown in MiB/s wich is MegaByte/s, right? Tha’t why a was talking about MiB/s.
So 115000KiB/s should be around 115MiB/s, right? Syncthing says it’s 112MiB/s. That’s alright for me.
Screenshots:
The first one shows a file commander to see what’s possible over the LAN here. 285MB/s.
Than you see a Syncthing speed without limitation. 119MiB/s.
Then Syncthing Limit 112MiB/s and speed 58MiB/s, some days before it didn’t went above 35MiB/s., so today it’s better but still not close to what’s set.
Then Syncthing Limit 78MiB/s and speed 50MiB/s
Hope this helps?
PS: The manual about SyncThing is fine but it only explains the function, not how to set it up, that’s a big differnce…
You can’t directly compare transfer speeds using a file manager and Syncthing. The latter does a lot of processing, which among others includes encrypting and decrypting the data, etc. A lot of that depends on the hardware too, e.g. you’re not going to get good transfer speeds with a very slow CPU.
That might be an artifact of different calculation intervals. When Syncthing transmits something, it will count how many bytes have been transferred and after a certain period, compare that with the bandwidth limit. If the ratio is too high, it will wait a bit before transmitting the next block. Not quite sure about the details, but that should be roughly how it works in general. So you will have peaks with higher transfer rates for single packets / blocks, but on average it will roughly hit the limit.
Now a file is finished and some preparation is necessary before the next transfer. During this period, your speed will be at zero, before it starts transmitting the next file. If you now take an average over some longer time interval, these periods will lead to a lower overall average rate. Just like the limiting itself has instantaneous peaks (because 1000 MBit/s LAN just works at that rate for every transferred frame), but on average will stay close to the configured rate. If you take the average over a full month, your data rate will be even lower because most of the time nothing needs to be transferred.
So it’s mainly that the bandwidth indicator is not a very precise instrument to judge what is going on. And that Syncthing does a lot of things besides raw data transfer which will reduce your average rate, to keep your data safe and manage interaction between a nearly unlimited number of devices.