Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backup - Kompressionslevel und Kompressionsart frei einstellbar machen #5721

Open
Koala opened this issue May 28, 2023 · 4 comments
Open

Backup - Kompressionslevel und Kompressionsart frei einstellbar machen #5721

Koala opened this issue May 28, 2023 · 4 comments
Labels
Backup "Backup"-Addon related things Feature Additional functionality

Comments

@Koala
Copy link
Contributor

Koala commented May 28, 2023

Feature description / Feature Beschreibung

Derzeit gibt es keine Möglichkeit, das Kompressionslevel und die Kompressionsart über Einstellungen im Backup-Addon ändern zu können.
Das ist bisher fest verdrahtet:

$this->tar->setCompression(9, Archive::COMPRESS_GZIP);

Das maxmimale Kompressionslevel bei gzip, benötigt auch die maximale Zeit, was auf einigen Servern zu einem Timeout führt. Daher wäre es hilfreich, wenn das Kompressionslevel in Einstellungen frei gewählt werden könnte, um zumindest das Zeitproblem umgehen zu können. (Oder gibt es das schon und ich habe es übersehen?)
Aus einem geringeren Kompressionslevel bei gzip, resultiert eine größere Archiv-Datei. Darauf sollte hingewiesen werden.

Kompressionsart: bzip2

bzip2 wird direkt von PHP und von der tar-Klasse von split-brain unterstützt.
Ein Vorteil der Art der Komprimierung liegt in der Möglichkeit, beschädigte Dateien (je nach schwere der Beschädigung) wieder herstellen zu können.
Nachteil ist allerdings die Geschwindigkeit ... zumindest beim normalen bzip2 kann es unter Umständen ein wenig länger dauern als bei gzip. Bei bzip2 gibt es kein Kompressionslevel im gleichen Sinne, wie bei gzip.
Es gibt auf Betriebssystemebene (Linux) das Programm pbzip2, welches multi-threating nutzt. Das wäre ein enormer Geschwindigkeitsvorteil. Für eine PHP-Umgebung habe ich dazu leider (noch) nichts vergleichbares gefunden.

@alxndr-w
Copy link
Contributor

Ich glaube, das ist so nicht richtig. Hier ist die gz-Klasse dafür mit einem prinzipiell einstellbaren Level:

public function gzCompress(string $source, int $level = 9)

@Koala
Copy link
Contributor Author

Koala commented Jul 12, 2023

Was genau ist mit "das ist so nicht richtig" gemeint?
Ich weiß, dass das Level da steht. Aber es wird bisher nicht genutzt als freie Einstellmöglichkeit im Addon. Oder hab ich das übersehen?

@alxndr-w
Copy link
Contributor

Du beziehst dich auf gz, hast dich aber im Code auf tar bezogen.

@Koala
Copy link
Contributor Author

Koala commented Jul 12, 2023

Von tar aus wird direkt gz aufgerufen. Fest verdrahtet mit Level 9. Erst wird alles mit tar archiviert, dann erfolgt der Aufruf von gz direkt in der tar-Klasse.
[edit] Nein, nicht korrekt so. Es wird aber Level dort gesetzt in einer eigenen Variablen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backup "Backup"-Addon related things Feature Additional functionality
Development

No branches or pull requests

3 participants