Czy można przyspieszyć gzip
proces?
używam
mysqldump "$database_name" | gzip > $BACKUP_DIR/$database_name.sql.gz
do tworzenia kopii zapasowych bazy danych do katalogu $BACKUP_DIR
.
strona mówi:
- # - fast --best Ustaw
prędkość kompresji za pomocą określonej cyfry #, gdzie -1 lub --fast wskazuje najszybszą metodę kompresji (mniejszą kompresję), a -9 lub --best wskazuje najwolniejszą metodę kompresji ( najlepsza kompresja). Domyślny poziom kompresji to -6 (tzn. Nastawiony na wysoką kompresję kosztem prędkości).
- Jak efektywne byłoby użycie
--fast
? - Czy to skutecznie obniża zużycie procesora na nowoczesnym komputerze?
Moje wyniki testu
Nie zauważyłem żadnego przyspieszenia:
- 7 min, 47 sekund (z domyślnym współczynnikiem
-6
) - 8 min, 36 sekund (ze współczynnikiem
--fast
(= 9))
Więc wydaje się, że użycie szybkiej kompresji zajmuje jeszcze więcej czasu?
Tylko wyższa kompresja naprawdę go spowalnia:
- 11 min, 57 sekund (ze współczynnikiem
--best
(= 1))
Po otrzymaniu Pomysłu lzop
przetestowałem to i jest to naprawdę szybsze:
- 6 min, 14 sekund z
lzop -1 -f -o $BACKUP_DIR/$database_name.sql.lzo
gzip -1
nie jest wystarczająco szybki, użyjlzop
lz4
który jest jeszcze szybszy zobacz ten punkt odniesienia . Ale wydaje się, że lzop i lz4 potrzebują znacznie więcej pamięci. czy będzie problem na mojej 1-rdzeniowej pamięci RAM, że lz4 używa 30 razy więcej pamięci podczas kompresji niż gzip, gdy kompresuję niektóre duże bazy danych?