È possibile accelerare il gzip
processo?
sto usando
mysqldump "$database_name" | gzip > $BACKUP_DIR/$database_name.sql.gz
per eseguire il backup di un database in una directory $BACKUP_DIR
,.
la manpage dice:
- # --fast --best
Regola la velocità di compressione utilizzando la cifra specificata #, dove -1 o --fast indica il metodo di compressione più veloce (meno compressione) e -9 o --best indica il metodo di compressione più lento ( miglior compressione). Il livello di compressione predefinito è -6 (ovvero, distorto verso un'elevata compressione a scapito della velocità).
- Quanto sarebbe efficace da usare
--fast
? - Questo sta effettivamente riducendo l'utilizzo della CPU su un computer moderno?
I miei risultati del test
Non ho notato alcuna accelerazione:
- 7 min, 47 secondi (con rapporto predefinito
-6
) - 8 min, 36 secondi (con rapporto
--fast
(= 9))
Quindi sembra ci vuole ancora più tempo per usare la compressione veloce?
Solo una compressione più alta la rallenta davvero:
- 11 min, 57 secondi (con rapporto
--best
(= 1))
Dopo aver ottenuto l'idea con lzop
ho provato anche quello ed è davvero più veloce:
- 6 min, 14 secondi con
lzop -1 -f -o $BACKUP_DIR/$database_name.sql.lzo
gzip -1
non è abbastanza veloce, usalzop
lz4
che è ancora più veloce vedere questo benchmark . Ma sembra che lzop e lz4 abbiano bisogno di molta più memoria. sarà un problema sul mio single-core RAM da 1 GB che lz4 utilizza 30 volte più memoria in compressione rispetto a gzip quando comprimo alcuni database di grandi dimensioni?