Howdy! I started playing with restic on a small web server. I have been testing zbackup+rclone to take hourly snapshots (including webspace, conf files, and exported MySQL data), then rclone synchronizes to B2.
I played around with restic a bit last night, eventually configuring it to backup the same content as zbackup, both on an hourly schedule.
How can I predict/control the number of calls to B2? Is it based on the number of files, amount of space already stored? Or more related to the number of changed blocks? Or something else entirely?
Most of the calls seem to be related to list file name transactions (656,697/754,024), this is only 25 snapshots worth, so assuming daily snapshots this looks to be around 21 million/month, which will run me around $10/month. The 11GB of data will be less than $1.
I should note that zbackup is running too, and while I can’t tell how many are zbackup vs restic, I’ve been doing zbackup hourly snapshots for years and typically spend less than $0.30/month on class C transactions, whereas with restic I could be looking at $10.
None of these numbers will leave me unable to pay rent, but this is a small personal server that I’m using as a testbed, I could easily end up with over 600GB of data if I decide to start using this solution for the larger professional web servers, and/or our in-house data at around 1TB.
I am running restic_0.8.3_linux_amd64 version.
For reference, restic is using 10.3GB for 25 snapshots, zbackup is using 8.9GB for 294 (going back to 2018-02-17). Raw total of the files on disk is ~10.7GB.
Is there anything I could/should be doing, in particular to the transaction count?
Will these costs likely scale with the amount of data as I start using restic on other servers with substantially more content?
Is there any progress on compression? The Github bug didn’t seem to indicate that compression would be any time soon, but it is certainly possible that progress is being made that simply hasn’t been documented yet.