If you leave it enabled and set up logs at whatever verbosity level you can stand, you get messages like
so I think you can at least sometimes go straight for delete if it gets to completely empty before threshold.
--threshold=<percent_value>
The amount of old data that a dblock file can contain before it is considered to be replaced.
2022-01-21 15:54:28 -05 - [Verbose-Duplicati.Library.Main.Database.LocalDeleteDatabase-FullyDeletableCount]: Found 2 fully deletable volume(s)
2022-01-21 15:54:28 -05 - [Verbose-Duplicati.Library.Main.Database.LocalDeleteDatabase-SmallVolumeCount]: Found 2 small volumes(s) with a total size of 8.82 MB
2022-01-21 15:54:28 -05 - [Verbose-Duplicati.Library.Main.Database.LocalDeleteDatabase-WastedSpaceVolumes]: Found 24 volume(s) with a total of 6.03% wasted space (824.01 MB of 13.35 GB)
2022-01-21 15:54:28 -05 - [Information-Duplicati.Library.Main.Database.LocalDeleteDatabase-CompactReason]: Compacting because there are 2 fully deletable volume(s)
Setting compact threshold to 0% will maybe compact eternally. I haven’t tested setting it to 100% though.
This probably merits another look, but trying to optimize it for different storage pricing is kind of complex.
Threshold too low makes churn and eats bandwidth Setting high maybe holds wasted space too long…
Compact - Limited / Partial is a big discussion on this, but ultimately any changes may need a volunteer.
Duplicati’s progress and success is very much limited by people volunteering to contribute in some way.