Are bandwidth limits (--bwlimit) for inbound, outbound or both?

I’m really interested in using rclone to throttle transfers from restic backups using rclone serve restic. I’m reading about --bwlimit but am not really clear on one thing: does the throttle apply to ingress, egress, or both?

In my case, I would like to throttle inbound, but leave outbound (to the cloud service) unlimited. If throttling one ends up throttling the other, that’s okay – I just don’t need a specific limit on outbound.

It applies to both...

The way it works is that rclone copies stuff from source -> dest where either can be local files or remote. The copying engine in the middle does the bandwidth limiting.

There isn't a way of specifying that, alas, and it doesn't really make sense the way rclone is implemented right now - the copying engine doesn't have any idea or whether it is sending to or reading from the net.

There is an issue about this though: bwlimit for upload and download · Issue #1873 · rclone/rclone · GitHub - fancy helping?

apologies for piggybacking on this post. I have a bwlimit on my move command to gdrive :

rclone move ........ --bwlimit 10M

@ncw are you saying that this will also set a bwlimit for my rclone vfs mount’s incoming connection?

If so, is there any other way to stop rclone uploading more than 750GB per day? (I’ve gone a bit higher than the 8MB/s as my upload doesn’t tend to run for 24 hours). If I remember correctly the max transfer command is only per invocation, which wouldn’t work well for me where my job could run a few times a day.

Okay -- that's totally fine. Because even if just the inbound is throttled, that implicitly throttles the outbound too; can't upload what you haven't downloaded yet.

The more I think about it, the more I don't think this is going to be helpful. How can one upload at 100 Mbps but download the data to upload at only 10 Mbps? You'd need a huge (or ever-increasing) buffer, and frankly I don't think it's worth the trouble.

Thanks for the tips!

No, the bwlimit command is for each rclone instance only. They don't communicate with each other so you can set separate limits for each.

Perfect - thanks.

Good to see you’ve thought of everything :wink: