Throttle Bandwidth After Backup Has Started?

I’m about to kick off a large (450GB) backup to the cloud. Since my upload speeds aren’t the swiftest I am not going to set any throttling options. However, if it starts interfering with normal household bandwidth I’d like to be able to dial it back a bit.

I know you can set an option to throttle bandwidth during a backup, but can you change the throttling once a backup has started?

I do this all the time from the web UI.

At the very top of the page, see that icon to the right of the “pause” icon. It looks like a speedometer. Click that.

That brings up this popup window:

From there you can turn on/off/change upload and download limits. One thing to be aware of is this UI measures those in KB/MB/GB per second, NOT mbps or kbps like most network links are measured. The conversion isn’t hard, but I tend to just lean on Google for this so search for “10KB per second in mbps” on Google and you’ll get their interactive calculator and it’ll let you choose whatever units you want to deal with.

A longer term solution would be some sort of traffic shaping function of your router. I’m looking at doing something like this, but haven’t spent any real time on it. Basically I would identify traffic that I think is Duplicati (certain machines on my LAN talking to my backend storage providers) and put it in a low priority queue.

I know my screenshot says I am running a “Canary” build, but this worked for me on the latest public beta too

2 Likes

That’s a good suggestion as it helps balance backup speed (when our network isn’t in use by other things) and user experience when people are wanting to use the connection (VOIP, Netflix, YouTube, etc.).

If you’re not sure whether you router supports this I expect most routers these days will have it listed as QoS (Quality of Service) functionality (though it might also be in “Class of Service” or “Resource Reservation”).

Does Duplicati (or can Duplicati be made to) mark traffic it generates with any sort of QoS or similar bits? I’m not new to networking and routing, but completely new to any sort of QoS classifying so I don’t know what’s possible.

If not, I’m trying to figure out how to get my router to identify Duplicati’s traffic on the network, I’m using B2, and while I can figure out the FQDNs they’re using, getting a complete set of destination IPs isn’t trivial and can easily change over time.

Not that I’m aware of, but I certain could be wrong on that. Perhaps B2 uses a specific port that you could use (if your router supports it).

Another option is to use virtual router interfaces and limit those interfaces, though then you’d need to tell Duplciati to use a specific interface (or IP range on that interface).

You might also want to reach out to @drwtsn32 to see how he did it…

What OS are you running Duplicati on? If Windows, you can use Local Group Policy Editor to configure Policy-based QoS so that traffic from the Duplicati executable is marked. I can provide more detail if desired.

On my gateway (Linux-based) my shaping rules check for certain ToS values and prioritize accordingly. My gateway also makes the assumption that outbound https traffic from certain non-Windows hosts (like my NAS) is backup traffic, and shapes that traffic as well. That way I don’t have to bother trying to mark Duplicati traffic on certain machines.

1 Like

Ahh, ok. So my complete setup:

  • pfSense (FreeBSD-based) router/firewall
  • A couple of OSX boxes, a Linux-ish NAS, a Windows box.

It sounds like I’d end up with a few classification rules.

  • I’ll dig on on OSX to see if I can set QoS per app, I didn’t know that was possible on any OS.
  • For the NAS, I guess I could do outgoing HTTPs from the NAS to the WAN interface would be backup only (or a problem I should investigate!)
  • For the Windows box, I look look at the Policy Editor, thanks!