Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

Umstellung der Kompression bei Logrotate von gzip auf das schnellere und effizientere zstd

Das Kompressionsprogramm gzip ist etwas in die Jahre gekommen, allerdings leistet es weiter gute Dienste bei hohen Kompressionsraten vor allem bei Texten wie Logdateien. Bei logrotate ist es in Verbindung mit dem Parameter compress weiter das Standardprogramm. Für Zeitvorteile und leichte Kompressionsgewinne kann dieses aber leicht durch das effizientere zstd ersetzt werden.

Als Beispiel für die Effizienz von zstd wird hier eine Logdatei von Varnish mit einer Größe von 137.599.198 Bytes beziehungsweise 132 Megabytes genommen.

Programm Größe in Bytes KompressionszeitKompressionsrate
lz4 v1.9.3 16.108.881 0,220s 88,29 %
zip v3.0 6.941.769 2,006s 94,96 %
gzip v1.10 6.941.624 1,933s 94,96 %
arj32 v3.10 6.730.722 3,393s 95,11 %
zstd v1.48 6.290.302 0,284s 95,43 %
rar v6.32 4.665.817 2,146s 96,61 %
7-Zip v16.02 4.582.006 12,741s 96,67 %
bzip2 v1.08 4.160.476 22,675s 96,97 %
xz v5.2.5 3.912.692 33,346s 97,15 %
lzma v9.223.460.332 158,749s 97,49 %

Alle Tests wurden mit den Standardparametern durchgeführt. Dabei zeigt zstd deutlich seine Effizienz, indem es nicht nur leicht besser als gzip komprimiert, sondern zudem auch noch ganze 85 Prozent flotter als gzip ist. Besonders bei Systemen mit großen und vielen Logdateien ein nicht zu vernachlässigender Faktor. Daher bietet es sich an, die standardmäßigen Rotationen der Logdateien und dabei Kompression der älteren Versionen auf zstd umzustellen.

zstd kann bei Debian-Systemen leicht mit den Standardinstrumenten nachinstalliert werden. apt install zstd hilft hierbei weiter. Die Einstellungsdateien für logrotate finden sich standardmäßig unter /etc/logrotate.d. Dort lässt sich beispielsweise eine Datei namens 0_eigene_Einstellungen mit den folgenden Parametern erstellen.

compresscmd /usr/bin/zstd
compressext  .zstd

Alternativ kann das natürlich auch in /etc/logrotate.conf geschrieben werden. Danach werden alle Standardkompressionen mit zstd durchgeführt. Für die Suche oder Verarbeitung von komprimierten Logdateien muss dann aber statt des gewohnten zcat ein zstdcat verwendet werden, was aber keine große Hürde darstellen sollte.


Stichworte: , , , , , , , , , , , , , , , ,
Kategorien: ,


Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.