Throttle speed for B2 looks inconsistent with spikes

Not really. I just did a test on 2.1.0.125, and BackendSpeed per the API is usually -1 or 0. Only times when API shows a speed is after the series of uploads is over. During the file uploading, I occasionally see a brief Waiting for transfer … /s (slash s without any speed).

That’s good to know. I’m now searching for "ActiveTransfers":[{"BackendAction":"Put","BackendPath":"duplicati-b in the packets, but seeing just zero and minus one for speeds, throughout the entire uploading.

My last run didn’t throttle at the router as I had intended because the speed and the “do-it” are separate controls, but to give a sample of the upload oddness I got so far, profiling log

2025-07-15 13:10:00 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b88079437c07b4b06a921ff7bf8ace4b8.dblock.zip.aes (9.93 MiB)
2025-07-15 13:10:08 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.93 MiB in 00:00:07.3769226, 1.35 MiB/s
2025-07-15 13:10:08 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b88079437c07b4b06a921ff7bf8ace4b8.dblock.zip.aes (9.93 MiB)
2025-07-15 13:10:08 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b394e7bdabaa84e9aa57023bb6793ec3c.dblock.zip.aes (6.81 MiB)
2025-07-15 13:10:13 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 6.81 MiB in 00:00:05.1047616, 1.33 MiB/s
2025-07-15 13:10:13 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b394e7bdabaa84e9aa57023bb6793ec3c.dblock.zip.aes (6.81 MiB)

Looks like this in consecutive API packets one second apart:

"ActiveTransfers":[{"BackendAction":"Put","BackendPath":"duplicati-b88079437c07b4b06a921ff7bf8ace4b8.dblock.zip.aes","BackendFileSize":10415277,"BackendFileProgress":10415277,"BackendSpeed":0,"BackendIsBlocking":true}]}}

"ActiveTransfers":[{"BackendAction":"Put","BackendPath":"duplicati-b394e7bdabaa84e9aa57023bb6793ec3c.dblock.zip.aes","BackendFileSize":7137965,"BackendFileProgress":7137965,"BackendSpeed":-1,"BackendIsBlocking":false}]}}

EDIT 1:

Packets are at 13:10:07 and 13:10:08. How did it manage to hit 100% progress instantly?

EDIT 2:

After fixing the router to get some slow uploading, still no speeds in ngclient or ngax.

In ngclient, it’s mostly “Waiting for transfers” with no speed, with a few second “to go” roughly around when it finishes transfer and starts another (seems offset somehow).

This behavior is more obvious in ngax where Server Status shows transition to a new upload begins as 100% done somehow.

Is this the “file” backend? If you use --disable-streaming-transfers then it uses a file-based transfer method that is more efficient but does not offer any progress and does not respond to throttle operations.

This also happens with a few other backends, notably the rsync backend.

This does not rely on measuring during the transfer, this is just calculating the total transfer speed, after it happened.

Since I said I’m trying to throttle at the router, I’m pretty sure that one was B2.

Today I have a B2 backup in progress with router throttle. Profiling log shows:

2025-07-19 07:31:40 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()
2025-07-19 07:31:43 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed:  (716 bytes)
2025-07-19 07:35:51 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes (9.94 MiB)
2025-07-19 07:35:51 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes (9.92 MiB)
2025-07-19 07:36:01 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes (9.94 MiB)
2025-07-19 07:36:01 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes (9.94 MiB)

ngax shows:

"OverallProgress":0,"ProcessedFileCount":5336,"ProcessedFileSize":7676826543,"TotalFileCount":7008,"TotalFileSize":8342794032,"StillCounting":false,"ActiveTransfers":[

{"BackendAction":"Put","BackendPath":"duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes","BackendFileSize":10427261,"BackendFileProgress":10427261,"BackendSpeed":-1,"BackendIsBlocking":true},

{"BackendAction":"Put","BackendPath":"duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes","BackendFileSize":10398813,"BackendFileProgress":10398813,"BackendSpeed":-1,"BackendIsBlocking":true},

{"BackendAction":"Put","BackendPath":"duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes","BackendFileSize":10426269,"BackendFileProgress":10426269,"BackendSpeed":-1,"BackendIsBlocking":true},

{"BackendAction":"Put","BackendPath":"duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes","BackendFileSize":10424461,"BackendFileProgress":10424461,"BackendSpeed":-1,"BackendIsBlocking":true}]}

ngax shows this later on, after some uploads completed:

{"BackendAction":"Put","BackendPath":"duplicati-b58f09e3432b94295a6e318d13d8e18c1.dblock.zip.aes","BackendFileSize":10395693,"BackendFileProgress":10395693,"BackendSpeed":3465231,"BackendIsBlocking":true},
{"BackendAction":"Put","BackendPath":"duplicati-b1a9c229cb0934e0bae81aa3a7b04436f.dblock.zip.aes","BackendFileSize":10415853,"BackendFileProgress":10415853,"BackendSpeed":-1,"BackendIsBlocking":true},
{"BackendAction":"Put","BackendPath":"duplicati-b47d4b4fafefa4baab61bd5394cb1f323.dblock.zip.aes","BackendFileSize":10448621,"BackendFileProgress":10448621,"BackendSpeed":-1,"BackendIsBlocking":true},
{"BackendAction":"Put","BackendPath":"duplicati-b9c52eb988aed4b099f6087562626425f.dblock.zip.aes","BackendFileSize":10435965,"BackendFileProgress":10435965,"BackendSpeed":-1,"BackendIsBlocking":true}]}

ngax is reporting 3.30 MB/s, ngclient 3.47 MB/s. Router upload speed set to “800 Kbps”.

EDIT 1:

One difference in this test is I’m using default 4 parallel uploads. Before I used 1, trying to start with a simpler scenario, however it wasn’t having much luck ever showing the speed.

With parallel uploads, it’s doing a little better, but still seems to show the “instant-complete” BackendFileProgress, only one of the transfers has speed, and it seems suspiciously high.

I do have Wireshark running if you need that, but above report is based on just the web UI.

Although I’m not using file backend now, I started there awhile ago, then wondered if using throttle-upload was intended to register as a slow destination. It may depend on where the throttle is done. It sounds like it’s now at the backend side. I’m not sure that was always so.

EDIT 2:

I looked at websocket packets for the fourth upload, and got progress jump in 1.2 seconds.

Jul 19, 2025 07:36:10.043673000
{"BackendAction":"Put","BackendPath":"duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes","BackendFileSize":10427261,"BackendFileProgress":10427261,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes","BackendFileSize":10398813,"BackendFileProgress":10398813,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes","BackendFileSize":10426269,"BackendFileProgress":10426269,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes","BackendFileSize":10424461,"BackendFileProgress":0,"BackendSpeed":-1,"BackendIsBlocking":false}]}}

Jul 19, 2025 07:36:11.236669000
{"BackendAction":"Put","BackendPath":"duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes","BackendFileSize":10427261,"BackendFileProgress":10427261,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes","BackendFileSize":10398813,"BackendFileProgress":10398813,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes","BackendFileSize":10426269,"BackendFileProgress":10426269,"BackendSpeed":-1,"BackendIsBlocking":false},
{"BackendAction":"Put","BackendPath":"duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes","BackendFileSize":10424461,"BackendFileProgress":10424461,"BackendSpeed":-1,"BackendIsBlocking":false}]}}

Progress jumping by 10 MB in 1.2 seconds between updates on fourth line is the concern.

EDIT 3:

Here’s the speed jumping from -1 to high, trying to look at Wireshark WS updates in gvim:

{"BackendAction":"Put","BackendPath":"duplicati-b58f09e3432b94295a6e318d13d8e18c1.dblock.zip.aes","BackendFileSize":10395693,"BackendFileProgress":0,"BackendSpeed":-1,"BackendIsBlocking":false}

{"BackendAction":"Put","BackendPath":"duplicati-b58f09e3432b94295a6e318d13d8e18c1.dblock.zip.aes","BackendFileSize":10395693,"BackendFileProgress":10395693,"BackendSpeed":3465231,"BackendIsBlocking":false}

This looks like a big BackendFileProgress jump too, which might explain the high speed.
Not too long later, the old-style not ActiveTransfers stats switch to this dblock and speed.

I’m trying to regex-search to exclude 0 and negative 1 speeds (character class [0-9]) and there don’t seem to be any, but this wasn’t a very long run. Job log has 20 files uploaded.

EDIT 4:

Here are the upload speeds from profiling log. Slow speeds are expected on slowed line:

2025-07-19 07:35:51 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes (9.94 MiB)
2025-07-19 07:35:51 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes (9.92 MiB)
2025-07-19 07:36:01 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes (9.94 MiB)
2025-07-19 07:36:01 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes (9.94 MiB)
2025-07-19 07:49:58 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.94 MiB in 00:13:56.1408171, 12.17 KiB/s
2025-07-19 07:49:58 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b0ed9c56a74ba4f8184e157ee6f812ff5.dblock.zip.aes (9.94 MiB)
2025-07-19 07:49:58 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i365dba61444149aa9433ea04a370118b.dindex.zip.aes (5.26 KiB)
2025-07-19 07:49:59 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.26 KiB in 00:00:00.8560628, 6.15 KiB/s
2025-07-19 07:49:59 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i365dba61444149aa9433ea04a370118b.dindex.zip.aes (5.26 KiB)
2025-07-19 07:49:59 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b58f09e3432b94295a6e318d13d8e18c1.dblock.zip.aes (9.91 MiB)
2025-07-19 07:50:14 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.94 MiB in 00:14:22.7669847, 11.80 KiB/s
2025-07-19 07:50:14 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bcabe5c2e4ec04f4e936e70988a88c1db.dblock.zip.aes (9.94 MiB)
2025-07-19 07:50:14 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-id987af04c7ef4a9bbc33ba8593c639be.dindex.zip.aes (5.29 KiB)
2025-07-19 07:50:15 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.29 KiB in 00:00:00.6401123, 8.27 KiB/s
2025-07-19 07:50:15 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-id987af04c7ef4a9bbc33ba8593c639be.dindex.zip.aes (5.29 KiB)
2025-07-19 07:50:15 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b1a9c229cb0934e0bae81aa3a7b04436f.dblock.zip.aes (9.93 MiB)
2025-07-19 07:50:16 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.92 MiB in 00:14:24.7568402, 11.74 KiB/s
2025-07-19 07:50:16 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bae1dbf3953de426b80a0f51f7cead2b0.dblock.zip.aes (9.92 MiB)
2025-07-19 07:50:16 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i7f5fdc451e674b5da78956a298084722.dindex.zip.aes (5.34 KiB)
2025-07-19 07:50:17 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.34 KiB in 00:00:00.2258939, 23.64 KiB/s
2025-07-19 07:50:17 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i7f5fdc451e674b5da78956a298084722.dindex.zip.aes (5.34 KiB)
2025-07-19 07:50:17 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b47d4b4fafefa4baab61bd5394cb1f323.dblock.zip.aes (9.96 MiB)
2025-07-19 07:50:39 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.94 MiB in 00:14:36.6198651, 11.61 KiB/s
2025-07-19 07:50:44 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bbef237781f9644db9005043a79d34063.dblock.zip.aes (9.94 MiB)
2025-07-19 07:50:45 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-id1fba847c6d34d2a9b6287bc74e74277.dindex.zip.aes (5.26 KiB)
2025-07-19 07:50:45 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.26 KiB in 00:00:00.7125480, 7.38 KiB/s
2025-07-19 07:50:45 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-id1fba847c6d34d2a9b6287bc74e74277.dindex.zip.aes (5.26 KiB)
2025-07-19 07:50:45 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b9c52eb988aed4b099f6087562626425f.dblock.zip.aes (9.95 MiB)
2025-07-19 08:05:14 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.96 MiB in 00:14:57.2195339, 11.37 KiB/s
2025-07-19 08:05:14 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b47d4b4fafefa4baab61bd5394cb1f323.dblock.zip.aes (9.96 MiB)
2025-07-19 08:05:14 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i9dd82ce410f0484d948bdf0f94bed2fb.dindex.zip.aes (5.39 KiB)
2025-07-19 08:05:15 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.39 KiB in 00:00:00.2693098, 20.00 KiB/s
2025-07-19 08:05:15 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i9dd82ce410f0484d948bdf0f94bed2fb.dindex.zip.aes (5.39 KiB)
2025-07-19 08:05:15 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcd6135f7f73b4f42ab7e6dc6cb05d3b0.dblock.zip.aes (9.41 MiB)
2025-07-19 08:05:15 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.93 MiB in 00:15:00.1713600, 11.30 KiB/s
2025-07-19 08:05:16 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b1a9c229cb0934e0bae81aa3a7b04436f.dblock.zip.aes (9.93 MiB)
2025-07-19 08:05:16 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-ifb27e811926047b0993344380f32f2bf.dindex.zip.aes (5.23 KiB)
2025-07-19 08:05:16 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.23 KiB in 00:00:00.5900489, 8.87 KiB/s
2025-07-19 08:05:16 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-ifb27e811926047b0993344380f32f2bf.dindex.zip.aes (5.23 KiB)
2025-07-19 08:05:24 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.91 MiB in 00:15:24.5685475, 10.98 KiB/s
2025-07-19 08:05:24 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b58f09e3432b94295a6e318d13d8e18c1.dblock.zip.aes (9.91 MiB)
2025-07-19 08:05:24 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i3dfb29d296e54bdaac8e80d31214fea8.dindex.zip.aes (5.22 KiB)
2025-07-19 08:05:25 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.22 KiB in 00:00:00.7310059, 7.13 KiB/s
2025-07-19 08:05:25 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i3dfb29d296e54bdaac8e80d31214fea8.dindex.zip.aes (5.22 KiB)
2025-07-19 08:06:32 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.95 MiB in 00:15:46.6599872, 10.76 KiB/s
2025-07-19 08:06:32 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b9c52eb988aed4b099f6087562626425f.dblock.zip.aes (9.95 MiB)
2025-07-19 08:06:32 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i8c21c1ffa9a349f685bdb299a6e8b8a8.dindex.zip.aes (5.20 KiB)
2025-07-19 08:06:33 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 5.20 KiB in 00:00:00.4784188, 10.87 KiB/s
2025-07-19 08:06:33 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i8c21c1ffa9a349f685bdb299a6e8b8a8.dindex.zip.aes (5.20 KiB)
2025-07-19 08:08:25 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 9.41 MiB in 00:03:10.2662168, 50.63 KiB/s
2025-07-19 08:08:25 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bcd6135f7f73b4f42ab7e6dc6cb05d3b0.dblock.zip.aes (9.41 MiB)
2025-07-19 08:08:25 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-ifcd7d761b37f4a6a944f9c611cccbeb1.dindex.zip.aes (58.43 KiB)
2025-07-19 08:08:26 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 58.43 KiB in 00:00:00.7527565, 77.63 KiB/s
2025-07-19 08:08:26 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-ifcd7d761b37f4a6a944f9c611cccbeb1.dindex.zip.aes (58.43 KiB)
2025-07-19 08:08:27 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-20250719T113116Z.dlist.zip.aes (954.54 KiB)
2025-07-19 08:08:38 -04 - [Profiling-Duplicati.Library.Main.Backend.PutOperation-UploadSpeed]: Uploaded 954.54 KiB in 00:00:10.9171032, 87.44 KiB/s
2025-07-19 08:08:38 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-20250719T113116Z.dlist.zip.aes (954.54 KiB)

EDIT 5:

The above July 19 test was actually on 2.1.1.0 Experimental, which came out on July 17.
I’ve gone back to a full-speed line while waiting for any advice, as slow line was too slow.

I wonder if this is then a B2 specific problem? We recently discovered an incorrect block handling in the B2 backend that could perhaps cause this. If the stream is chunking, it might buffer internally, meaning that filling the buffer is throttled, but the actual transmission is bursty.

Trying again on this one after moving to 2.1.1.100 Canary which should have the fix.
Deleted recent response which was in error, as S3 wasn’t actually in use on that job.
That rarely showed speeds, and speed was too high. 2.1.1.100 speed reports better.

With router at 100 KB/s, Duplicati is mostly “Waiting for transfers at” (around 80 KB).
It occasionally has brief “to go at” (around 130 KB), and the oddest speed I saw was
“Waiting for upload to finish at” (over 300 KB). Still a lot closer than prior 10.48 MB/s.

EDIT 1:

Edited above post some, but not about the speeds. In the WS updates I can find the
above-usual speeds, but BackendIsBlocking is false at those times (manual search).

In ngclient, there is also the potential for multiple ActiveTransfers, maybe each with a
different status. So I’m still unclear on when speed is shown. Anyway, speed is better
after the B2 buffering bug was fixed.

EDIT 2:

Maybe BackendIsBlocking turns on “Waiting for transfers”, but speed doesn’t need it?
Above question about multiple ActiveTransfers applies to speeds as well as Blocking.

I next tested B2 Internet connection not throttled at the router. It appeared reasonable.

EDIT 3:

Tried throttle-upload at 100 KB/s, and shown speed stayed near that over backup.
This also gave me “yes” to question of whether intentional throttle can cause “Waiting”.
I didn’t watch carefully, but a short check of Task Manager Wi-Fi looked pretty smooth.

EDIT 4:

Changed asynchronous-upload-limit from default of 4 to 40 to see if ability to queue uploads on drive avoids saying it’s Waiting on the destination, and it seems to, so good.

The BackendSpeed value is showing one of the active transfers (somewhat randomly picked), for backwards compatibility.
The correct value for “current speed” would be the sum of ActiveTransfers.BytesPerSecond.

Great news! Then the B2 chunk issue was indeed the root of the problems.