logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

borg-benchmark-crud - Benchmark Create, Read, Update, Delete for archives.

Author

       The Borg Collective

                                                   2025-01-03                             BORG-BENCHMARK-CRUD(1)

Description

       This command benchmarks borg CRUD (create, read, update, delete) operations.

       It  creates  input  data  below  the given PATH and backups this data into the given REPO.  The REPO must
       already exist (it could be a fresh empty repo or an existing repo, the  command  will  create  /  read  /
       update / delete some archives named borg-benchmark-crud* there.

       Make sure you have free space there, you'll need about 1GB each (+ overhead).

       If your repository is encrypted and borg needs a passphrase to unlock the key, use:

          BORG_PASSPHRASE=mysecret borg benchmark crud REPO PATH

       Measurements  are done with different input file sizes and counts.  The file contents are very artificial
       (either all zero or all random), thus the measurement results do not necessarily reflect performance with
       real data.  Also, due to the kind of content used, no compression is used in these benchmarks.

       C-==borgcreate(1starchivecreation,nocompression,donotusefilescache)
              C-Z- == all-zero files. full dedup, this is primarily measuring  reader/chunker/hasher.   C-R-  ==
              random files. no dedup, measuring throughput through all processing stages.

       R-==borgextract(extractarchive,dry-run,doeverything,butdonotwritefilestodisk)
              R-Z-  == all zero files. Measuring heavily duplicated files.  R-R- == random files. No duplication
              here, measuring throughput through all processing stages, except writing to disk.

       U-==borgcreate(2ndarchivecreationofunchangedinputfiles,measurefilescachespeed)
              The throughput value is kind of virtual here, it does not actually read the file.  U-Z-  ==  needs
              to  check the 2 all-zero chunks' existence in the repo.  U-R- == needs to check existence of a lot
              of different chunks in the repo.

       D-==borgdeletearchive(deletelastremainingarchive,measuredeletion+compaction)
              D-Z- == few chunks to delete / few segments to compact/remove.  D-R- == many chunks  to  delete  /
              many segments to compact/remove.

       Please note that there might be quite some variance in these measurements.  Try multiple measurements and
       having a otherwise idle machine (and network, if you use it).

Name

       borg-benchmark-crud - Benchmark Create, Read, Update, Delete for archives.

Options

       See borg-common(1) for common options of Borg commands.

   argumentsPATH   path were to create benchmark input data

See Also

borg-common(1)

Synopsis

       borg [common options] benchmark crud [options] PATH

See Also