zstd ist mittlerweile ziemlich verbreitet und komprimiert besser und ist schneller als gz. Vielleicht lohnt es sich, dies für Backups zu ändern.
Wenn man alle Discourse-Instanzen auf der ganzen Welt berücksichtigt, könnte dies eine erhebliche Einsparung bei Speicherplatz und Übertragung bedeuten.
Ich wäre neugierig, das durchschnittliche Gewichtsverhältnis zwischen komprimierbaren und bereits komprimierten Daten in einem Discourse-Backup[1] zu erfahren und wie viele Daten (in %) mit zstd eingespart würden.
Dies ist keine identische Funktionsanfrage, aber es geht auch um Backup-Kompression, daher poste ich dies hier:
Ich wäre nicht überrascht, wenn der Prozentsatz bei all meinen Discourse-Foren ungefähr gleich wäre.
Natürlich sind einige Foren sehr auf Bild-Uploads angewiesen, und einige erlauben nicht einmal Datei-Uploads. ↩︎
Gelegentlich führt der Backup-Prozess aufgrund der zusätzlichen Last zu Verfügbarkeitsproblemen. Daher habe ich heute einen kurzen Test mit zstd durchgeführt.
Hier sind meine Ergebnisse beim Komprimieren derselben 73 GiB großen dump.sql-Datei mit gzip (Stufe 4, wie im Discourse-Backup) und zstd (Standardstufe 3 von 19):
Komprimierte Größe: 15,8 % kleiner (.zst war 84 % der Größe von .gz)
Komprimierungszeit (-T1): 71 % schneller (29 % der gzip-Zeit)
Komprimierungszeit (-T0): 89 % schneller (11 % der gzip-Zeit)
Die Ergebnisse können variieren; ich habe den Test nicht mehrfach wiederholt, mein eigener Rechner (6 Kerne) hatte zudem andere Aufgaben zu erledigen usw. usw. – es ging mir nicht um absolute Präzision. Dennoch sind die Vorteile meiner Meinung nach klar.
Ich bin mir nicht sicher, ob -T0 für jeden die richtige Wahl wäre, da es sinnvoll erscheint, etwas Spielraum für Discourse selbst zu lassen. Daher habe ich das Beispiel mit -T1 für einen direkteren Vergleich gewählt.
Das fühlt sich nach einem Gewinn für beide Seiten an und würde sich wahrscheinlich auch erheblich auf die Hosting-Infrastruktur von Discourse auswirken. Das gesagt, ich habe nicht das nötige handwerkliche Geschick für einen PR, also teile ich einfach nur, was ich herausgefunden habe.