Es gibt viele Komprimierungsalgorithmen und bzip2einer der langsameren. Plain gzipneigt in der Regel nicht viel schlechter Kompression deutlich schneller zu sein. Wenn Geschwindigkeit am wichtigsten ist, lzopist mein Favorit. Schlechte Komprimierung, aber ach so schnell.
Ich beschloss, ein bisschen Spaß zu haben und ein paar Algorithmen einschließlich ihrer parallelen Implementierungen zu vergleichen. Die Eingabedatei ist die Ausgabe des pg_dumpallBefehls auf meiner Workstation, eine SQL-Datei mit 1913 MB. Die Hardware ist ein älterer Quad-Core i5. Die Zeiten sind Wanduhrzeiten nur der Kompression. Bei parallelen Implementierungen werden alle 4 Kerne verwendet. Tabelle sortiert nach Kompressionsgeschwindigkeit.
Algorithm Compressed size Compression Decompression
lzop 398MB 20.8% 4.2s 455.6MB/s 3.1s 617.3MB/s
lz4 416MB 21.7% 4.5s 424.2MB/s 1.6s 1181.3MB/s
brotli (q0) 307MB 16.1% 7.3s 262.1MB/s 4.9s 390.5MB/s
brotli (q1) 234MB 12.2% 8.7s 220.0MB/s 4.9s 390.5MB/s
zstd 266MB 13.9% 11.9s 161.1MB/s 3.5s 539.5MB/s
pigz (x4) 232MB 12.1% 13.1s 146.1MB/s 4.2s 455.6MB/s
gzip 232MB 12.1% 39.1s 48.9MB/s 9.2s 208.0MB/s
lbzip2 (x4) 188MB 9.9% 42.0s 45.6MB/s 13.2s 144.9MB/s
pbzip2 (x4) 189MB 9.9% 117.5s 16.3MB/s 20.1s 95.2MB/s
bzip2 189MB 9.9% 273.4s 7.0MB/s 42.8s 44.7MB/s
pixz (x4) 132MB 6.9% 456.3s 4.2MB/s 7.9s 242.2MB/s
xz 132MB 6.9% 1027.8s 1.9MB/s 17.3s 110.6MB/s
brotli (q11) 141MB 7.4% 4979.2s 0.4MB/s 3.6s 531.6MB/s
Wenn die 16 Kerne Ihres Servers im Leerlauf sind, sodass alle für die Komprimierung verwendet werden können, pbzip2wird dies wahrscheinlich zu einer erheblichen Beschleunigung führen. Aber Sie brauchen noch mehr Geschwindigkeit und können ~ 20% größere Dateien tolerieren, gzipist wahrscheinlich die beste Wahl.
Update: Ich habe brotlider Tabelle Ergebnisse hinzugefügt (siehe TOOGAMs Antwort). brotlis Druckqualitätseinstellung eine sehr große Auswirkung auf Verdichtungsverhältnis und die Geschwindigkeit hat, so dass ich drei Einstellungen hinzugefügt ( q0, q1, und q11). Die Standardeinstellung ist q11, aber es ist extrem langsam und noch schlimmer als xz. q1sieht aber sehr gut aus; das gleiche Kompressionsverhältnis wie gzip, aber 4-5 mal so schnell!
Update: Hinzugefügt lbzip2(siehe gmathts Kommentar) und zstd(Johnnys Kommentar) zur Tabelle und sortiert nach Kompressionsgeschwindigkeit. lbzip2bringt die bzip2Familie zurück ins Rennen, indem sie dreimal so schnell pbzip2komprimiert wie mit einem hervorragenden Kompressionsverhältnis! zstdsieht auch vernünftig aus, ist aber brotli (q1)sowohl in der Übersetzung als auch in der Geschwindigkeit besser.
Meine ursprüngliche Schlussfolgerung, dass Plain gzipdie beste Wette ist, fängt an, fast albern auszusehen. Obwohl für die Allgegenwart, ist es immer noch nicht zu schlagen;)