rsync --compress-level: Welche Komprimierungsstufen können verwendet werden?

13

Rsync verfügt über Befehlszeilenargumente für die Komprimierung:

-z, --compress              compress file data during the transfer
    --compress-level=NUM    explicitly set compression level

Was --compress-levelbedeutet Welche Zahlen können als Level verwendet werden?

cronfy
quelle

Antworten:

16

es sind Werte zwischen 0-9. Wo 1 am schnellsten ist, ist 9 am stärksten komprimiert. Ansonsten besteht eine Korrelation zwischen rsync und zlib, wobei rsync der zlib-Bibliothek anweist, "die Standardkomprimierung zu verwenden". In den Dokumenten von zlib heißt es:

Z_DEFAULT_COMPRESSION fordert einen Standardkompromiss zwischen Geschwindigkeit und Komprimierung an (entspricht derzeit Stufe 6).

Michal
quelle
Der Ursprung dieser Ebenen ist also zlib?
Cronfy
Ja, aber Sie werden in der Lage sein, wenn Sie den Wert zum Beispiel in rsync 0 einstellen, dann würde er dekomprimiert und dann in dieser Form gesendet.
Michal
0

Die verwendete Umgebung bestand aus zwei Docker-Containern, die mit MACVLAN + etwas Rauschverkehr verwendet wurden (was ungefähr ± 1% Fehler ergibt). Die Datei X ist - in meinem Fall - eine Binärdatei

Im Folgenden finden Sie das Ergebnis von rsync-geteerten Dateien im Vergleich zu rsync mit Komprimierungsdateien (Option -z), die nicht geteert wurden

      1. File tarred + rsync without compression (rsync -axvPAH fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4735665-4673346=62319 bits

      2. File tarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 56933 (fileX.tar)
    Transfer difference is 4933845-4871608=62237

      3. File tarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4870664-4808387=62277

      4. File untarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4669946-4607637=62309 bits

      5. File untarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4806735-4744764=61971 bits

      6. File untarred + rsync without compression (makes no sense since it’s the most bandwidth consuming one) 
Zatarra
quelle