Ich suche das schnellste gzip
(oder zip) Dienstprogramm. Ich habe ein LVM-Volume, das zu 95% aus Leerzeichen besteht. 0
Das Komprimieren ist also sehr einfach. Ich suche die schnellste Lösung und kümmere mich nicht wirklich um die Komprimierung außer den 0
.
Mir ist gzip -1
(genau wie gzip --fast
) bewusst, aber ich habe mich gefragt, ob es eine schnellere Methode gibt.
Vielen Dank.
Edit:
nach einigen Tests, ich verglichen gzip -1
, lzop -1
und pigz -1
mit ihnen und kam zu folgenden Ergebnissen:
PIGZ:
time dd if=/dev/VPS/snap | pigz -1 | ssh backup-server "dd of=/home/backupvps/snap.pigz"
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 2086.87 seconds, 25.7 MB/s
7093985+266013 records in
7163950+1 records out
3667942715 bytes (3.7 GB) copied, 2085.75 seconds, 1.8 MB/s
real 34m47.147s
LZOP:
time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1829.31 seconds, 29.3 MB/s
7914243+311979 records in
7937728+1 records out
4064117245 bytes (4.1 GB) copied, 1828.08 seconds, 2.2 MB/s
real 30m29.430s
GZIP:
time dd if=/dev/VPS/snap | gzip -1 | ssh backup-server "dd of=/home/backupvps/snap_gzip.img.gz
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1843.61 seconds, 29.1 MB/s
7176193+42 records in
7176214+1 records out
3674221747 bytes (3.7 GB) copied, 1842.09 seconds, 2.0 MB/s
real 30m43.846s
Bearbeiten 2 :
Dies hat etwas nichts mit meiner anfänglichen Frage time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"
zu tun , aber mit (Blockgröße geändert auf 16M) wird die Zeit auf reduziert real 18m22.442s
!
quelle
time
so zu verwenden. Der Durchsatz des verwendeten ddpigz
ist niedriger als die beiden anderen.Antworten:
Wenn es Ihnen nichts ausmacht, sich von DEFLATE zu entfernen,
lzop
handelt es sich um eine Implementierung von LZO, bei der die Geschwindigkeit der Komprimierungsrate vorgezogen wird.quelle
lzop
, dass ich in meinem Szenario am schnellsten bin. Es ist schneller alspigz
irgendwie (wahrscheinlich aufgrund der vielen Nullen).Obwohl ich es persönlich noch nicht benutzt habe, denke ich, dass die Verwendung von parallelem gzip die Dinge etwas beschleunigen könnte:
quelle
Sie können Parallel Gzip (Pascal hat es eingebunden) oder Parallel BZIP ausprobieren.
Theoretisch ist BZIP für Text viel besser, daher möchten Sie vielleicht pbzip ausprobieren .
quelle
Ihre Festplatte ist auf 30 MB / s begrenzt
Alle Kompressoren arbeiten gut genug. Sie können die Netzwerkübertragung sogar verringern, indem Sie etwas langsameres, aber allgegenwärtiges bzip2 verwenden.
Haben Sie über Rsync nachgedacht? Es wird nur die Prüfsumme und dann der Unterschied gezippt.
quelle
pigz -1: 1073741824 bytes (1.1 GB) copied, 8.6779 seconds, 124 MB/s
undgzip -1: 1073741824 bytes (1.1 GB) copied, 11.6724 seconds, 92.0 MB/s
. Ich habe über Rsync nachgedacht, aber das würde die Datei differenziert prüfen und es würde wahrscheinlich nicht helfen, da sich die meiste Zeit viel geändert hat.Re: lzop es ist langsamer in seiner Standardkonfiguration ... Tweaking kann die halbe Zeit dauern. Es gibt jedoch einen noch schnelleren Ersatz namens blosc:
https://github.com/FrancescAlted/blosc
Hmm ... Die Zeit, die benötigt wurde, um dies zu veröffentlichen und Antworten zu erhalten, ist wahrscheinlich mindestens doppelt so lang wie die Zeitersparnis, die Sie erhalten.
quelle