Ist es möglich, den gzip
Prozess zu beschleunigen ?
Ich benutze
mysqldump "$database_name" | gzip > $BACKUP_DIR/$database_name.sql.gz
zur Sicherung einer Datenbank in ein Verzeichnis, $BACKUP_DIR
.
Die Manpage sagt:
- # --fast --best
Regelt die Geschwindigkeit der Komprimierung mit der angegebenen Ziffer #, wobei -1 oder --fast die schnellste Komprimierungsmethode angibt (weniger Komprimierung) und -9 oder --best die langsamste Komprimierungsmethode angibt ( beste Kompression). Die Standardkomprimierungsstufe ist -6 (dh auf Kosten der Geschwindigkeit auf hohe Komprimierung eingestellt).
- Wie effektiv wäre es zu verwenden
--fast
? - Verringert dies effektiv die CPU-Auslastung auf einem modernen Computer?
Meine Testergebnisse
Ich habe keine Beschleunigung bemerkt:
- 7 min, 47 sekunden (mit voreingestelltem verhältnis
-6
) - 8 min, 36 sekunden (mit verhältnis
--fast
(= 9))
Es scheint also noch länger zu dauern, bis die schnelle Komprimierung verwendet wird?
Nur eine höhere Komprimierung verlangsamt es wirklich:
- 11 min, 57 sekunden (mit verhältnis
--best
(= 1))
Nachdem ich die Idee mit bekommen hatte, lzop
testete ich das auch und es ist wirklich schneller:
- 6 min, 14 sekunden mit
lzop -1 -f -o $BACKUP_DIR/$database_name.sql.lzo
gzip -1
es nicht schnell genug ist, benutzelzop
lz4
welche, die diesen Benchmark noch schneller sehen . Aber lzop und lz4 brauchen offenbar viel mehr Speicher. Wird es ein Problem auf meinem 1 GB RAM Single-Core sein, dass lz4 bei der Komprimierung 30-mal so viel Speicher benötigt wie gzip, wenn ich einige große Datenbanken komprimiere?