mirror of
https://github.com/borgbackup/borg.git
synced 2026-04-21 06:07:18 -04:00
docs: more about compression
This commit is contained in:
parent
abe29583f2
commit
8b1d46caa4
3 changed files with 59 additions and 5 deletions
|
|
@ -382,10 +382,25 @@ representation of the repository id.
|
|||
Compression
|
||||
-----------
|
||||
|
||||
|project_name| currently always pipes all data through a zlib compressor which
|
||||
supports compression levels 0 (no compression, fast) to 9 (high compression, slow).
|
||||
|project_name| supports the following compression methods:
|
||||
|
||||
- none (no compression, pass through data 1:1)
|
||||
- lz4 (low compression, but super fast)
|
||||
- zlib (level 1-9, level 1 is low, level 9 is high compression)
|
||||
- lzma (level 0-9, level 0 is low, level 9 is high compression.
|
||||
|
||||
Speed: none > lz4 > zlib > lzma
|
||||
Compression: lzma > zlib > lz4 > none
|
||||
|
||||
The overall speed of course also depends on the speed of your target storage.
|
||||
If that is slow, using a higher compression level might yield better overall
|
||||
performance. You need to experiment a bit. Maybe just watch your CPU load, if
|
||||
that is relatively low, increase compression until 1 core is 70-100% loaded.
|
||||
|
||||
Be careful, higher zlib and especially lzma compression levels might take a
|
||||
lot of resources (CPU and memory).
|
||||
|
||||
Compression is applied after deduplication, thus using different compression
|
||||
methods in one repo does not influence deduplication.
|
||||
|
||||
See ``borg create --help`` about how to specify the compression level and its default.
|
||||
|
||||
Note: zlib level 0 creates a little bit more output data than it gets as input,
|
||||
due to zlib protocol overhead.
|
||||
|
|
|
|||
|
|
@ -89,6 +89,29 @@ certain number of old archives::
|
|||
# and 6 monthly archives.
|
||||
borg prune -v $REPOSITORY --keep-daily=7 --keep-weekly=4 --keep-monthly=6
|
||||
|
||||
.. backup_compression:
|
||||
|
||||
Backup compression
|
||||
------------------
|
||||
|
||||
Default is no compression, but we support different methods with high speed
|
||||
or high compression:
|
||||
|
||||
If you have a quick repo storage and you want a little compression:
|
||||
|
||||
$ borg create --compression lz4 /mnt/backup::repo ~
|
||||
|
||||
If you have a medium fast repo storage and you want a bit more compression (N=0..9):
|
||||
|
||||
$ borg create --compression zlib,N /mnt/backup::repo ~
|
||||
|
||||
If you have a very slow repo storage and you want high compression (N=0..9):
|
||||
|
||||
$ borg create --compression lzma,N /mnt/backup::repo ~
|
||||
|
||||
You'll need to experiment a bit to find the best compression for your use case.
|
||||
Keep an eye on CPU load and throughput.
|
||||
|
||||
.. _encrypted_repos:
|
||||
|
||||
Repository encryption
|
||||
|
|
|
|||
|
|
@ -76,8 +76,12 @@ Resource Usage
|
|||
|project_name| might use a lot of resources depending on the size of the data set it is dealing with.
|
||||
|
||||
CPU: it won't go beyond 100% of 1 core as the code is currently single-threaded.
|
||||
Especially higher zlib and lzma compression uses significant amounts of CPU
|
||||
cycles.
|
||||
|
||||
Memory (RAM): the chunks index and the files index are read into memory for performance reasons.
|
||||
compression, esp. lzma compression with high levels might need substantial amounts
|
||||
of memory.
|
||||
|
||||
Temporary files: reading data and metadata from a FUSE mounted repository will consume about the same space as the
|
||||
deduplicated chunks used to represent them in the repository.
|
||||
|
|
@ -175,6 +179,18 @@ Examples
|
|||
# Backup a raw device (must not be active/in use/mounted at that time)
|
||||
$ dd if=/dev/sda bs=10M | borg create /mnt/backup::my-sda -
|
||||
|
||||
# No compression (default)
|
||||
$ borg create /mnt/backup::repo ~
|
||||
|
||||
# Super fast, low compression
|
||||
$ borg create --compression lz4 /mnt/backup::repo ~
|
||||
|
||||
# Less fast, higher compression (N = 0..9)
|
||||
$ borg create --compression zlib,N /mnt/backup::repo ~
|
||||
|
||||
# Even slower, even higher compression (N = 0..9)
|
||||
$ borg create --compression lzma,N /mnt/backup::repo ~
|
||||
|
||||
|
||||
.. include:: usage/extract.rst.inc
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue