Limiting the number of simultaneous file transfers

I was wondering if there is a way to reduce the number of concurrent file syncs from (what appears to be) 8 down to user defined (I would prefer 3)…

This is a nice to have option.

The thing you can adjust is not specifically concurrent file transfers, but how much outstanding data is requested (the amount of red in that screenshot). That’s the folder advanced option “Puller Max Pending KiB”. That said, I don’t think you need to reduce it normally. What’s the reason for your preference?

The request was more based on getting the file to transfer quicker. Occasionally the sending PC has some very large files (the picture was an example of syncs, but not a representation of file sizes) of 100Mb or more.

In my mind I would prefer St to sync those individually or a few at a time in order to get them over quicker rather than the bandwidth being consumed by 8 large files.

When I used to run Goodsync, I would tweak the number of syncs depending on the folder contents, so small files I could have 10 at a time, but folders with enormous files would be limited to 3 sync at a time, for example image

That’ll happen automatically. In this case many files where handled in parallel because they were all smallish. If you have a large file to transfer it will be the only one.

Ahh, that’s great to hear. I don’t religiously watch everything that Syncthing does and just saw this today and thought I would ask.

Appreciate your quick input.

1 Like

I hope that it is OK to ask this question here, but is it possible to alter this behaviour in the configuration (without modifying the actual source code)?

I am asking, because I have a problem with larger files completely blocking transfer of smaller files. In my case, the files are being sent to the other side of the globe, which basically means a very slow and spotty connection. Transferring just one file of a larger size (e.g. 1+ GB) can block syncing of the other files for days. I do have the “File Pull Order” set to “Smallest First” everywhere, but it does not seem to apply once the large file is already being transferred.

What I would like to do is to either temporarily pause the transfer of the large file and send the smaller files first, or to send both small and large files simultaneously. Is this even possible? Right now, the only way which I have found to work is to manually stop and resume syncing, so that the file queue is then refreshed, but I would much prefer an automatic solution.

There is no way to do what you want automatically today.

Fair enough. I guess that I will have to work around it by maybe scheduling Syncthing to restart every one or two hours, which will refresh the file queue and sync the smaller files first.