-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kind restic and other tools benchmark report #3917
Comments
Just some notes.
What do you understand as maximum performance? You can disable compression or enable maximum compression for smaller backupsizes, see https://restic.readthedocs.io/en/latest/047_tuning_backup_parameters.html?highlight=max#compression
Restic has its rest-server https://github.com/restic/rest-server and this has an append-only mode. With this you can make trojan safe backups, since backups can only be added but not removed. Very cool feature. Some of your table |
Thanks for your answers. I've updated my comparaison table.
I meant best overall settings. Indeed maxing out compression would reduce filesize. But I try to not compare apples to oranges, ie have identical compression across all backup programs.
I am supposed to have the password on the client in order to add data to the encrypted repository, ain't it ? So far restic does best on remote restore operations, due to |
Best overall settings is very subjective I would say. I prefer best compression over speed, because the backup is meant for longterm storage.
Currently yes. However I think when your client is compromised you have a lot more problems than restoring data from the backup. However there is this feature request #187 that would support asymmetric encrytion. This is intended to enable deduplication between servers without the possibility to get access to the data of the other servers. But this would of course also fit your use case: Encryption key only to prevent a compromised client to restore old backups. I was thinking there might be some settings to improve backup speed, like thread settings or something alike. EDIT: The comparison "Can a repo be synchronized to another repo ?" needs an update, that this is possible with restic. |
Regarding the comparison table:
Comments to the comparison:
That might be interesting for SSD to SSD backups. Or when using 10Gbit Ethernet. In almost all other cases, I wouldn't expect that increasing the number of file readers makes any significant difference. The available tuning options are listed at https://restic.readthedocs.io/en/latest/047_tuning_backup_parameters.html . |
Further comments:
|
Depends. Some benchmark: TL;DR Feel free to move this benchmark to another thread. Details: With default read-concurrency of 2 adding a folder with 512 MP3s (2,52 GB) and 44 txt files (total 2,48 KB in size):
CPU usage is about 40 to 50 %. With read concurrency of 4
CPU usage is about 80 - 85 % With read concurreny of 5:
With read concurrency of 6
|
Hmm, you're right. The archiver pipeline can stall after reading a file while waiting for all blobs to be queued for uploading: restic/internal/archiver/file_saver.go Line 199 in 7112a13
|
@JsBergbau Could you give PR #3955 a try? That should improve the archiver performance far enough that my initial assessment, that the |
Closing as we've hopefully answered the questions. |
Hello,
I'm currently doing benchmarks for deduplication backup tools, including restic.
I decided to write a script that would:
The idea of the script would be to have reproductible results, the only changing factor being the machine specs & network link between sources and targets.
So far, I've run two sets of benchmarks, each done locally and remotely.
You can find the results at https://github.com/deajan/backup-bench
I'd love you to review the recipe I used for restic, and perhaps guide me on what parameters to use to get maximum performance.
Any remarks / ideas / PRs are welcome.
I've also made a comparaison table of some features of the backup solutions I'm benchmarking.
I still miss some informations for some of the backup programs.
Would you mind having a look at the comparaison table and fill the question marks related to the features of restic ?
Also, if restic has an interesting feature I didn't list, I'll be happy to extend the comparaison.
PS: I'm trying to be as unbiased as possible when it comes to those benchmarks, please forgive me if I didn't treat your program with the parameters it deserves.
Also, I've created the same issue in every git repo of the backup tools I'm testing, so every author / team / community member can judge / improve the instructions for better benchmarking.
The text was updated successfully, but these errors were encountered: