이 프로세스의 속도를 높일 수 있습니까 gzip
?
나는 그것을 사용하고 있다
mysqldump "$database_name" | gzip > $BACKUP_DIR/$database_name.sql.gz
데이터베이스를 디렉토리에 백업합니다 $BACKUP_DIR
.
매뉴얼 페이지에는 다음과 같이 나와 있습니다.
-# --fast --best
지정된 숫자 #을 사용하여 압축 속도를 조정합니다. 여기서 -1 또는 --fast는 가장 빠른 압축 방법(낮은 압축)을 나타내고, -9 또는 --best는 가장 느린 압축 방법(대부분의 압축)을 나타냅니다. ) 최고의 압축). 기본 압축 수준은 -6(속도를 희생하면서 높은 압축을 선호함)입니다.
- 사용하는 것이 얼마나 효과적인가요
--fast
? - 이것이 최신 컴퓨터의 CPU 사용량을 줄이는 데 효과적입니까?
내 테스트 결과
속도 향상을 느끼지 못했습니다.
- 7분 47초(기본 척도
-6
) - 8분 36초(비율
--fast
(=9))
그럼 빠른 압축으로 시간이 더 오래 걸리는 것 같은데요?
압축률이 높을수록 속도가 느려집니다.
- 11분 57초 (비율
--best
(= 1 ))
이 아이디어를 얻은 후 lzop
테스트도 해보았는데 실제로 속도가 더 빨라졌습니다.
- 6분 14초
lzop -1 -f -o $BACKUP_DIR/$database_name.sql.lzo
답변1
멀티 코어 머신을 사용하는 경우돼지 돼지기존 gzip보다 훨씬 빠릅니다.
Pigz는 gzip의 병렬 구현을 나타내며 데이터를 압축할 때 다중 프로세서와 다중 코어를 최대한 활용하는 gzip의 모든 기능을 대체합니다. Pigz는 Mark Adler가 작성했으며 zlib 및 pthread 라이브러리를 사용합니다.
Pigz는 gzip의 드롭인 대체품으로 사용할 수 있습니다. 압축 해제는 불가능하고 압축만 병렬화할 수 있습니다.
Pigz 명령줄을 사용하면
mysqldump "$database_name" | pigz > $BACKUP_DIR/$database_name.sql.gz
답변2
에서 man gzip
:
-# --fast --best
Regulate the speed of compression using the
specified digit #, where -1 or --fast indi‐
cates the fastest compression method (less
compression) and -9 or --best indicates the
slowest compression method (best compression).
The default compression level is -6 (that is,
biased towards high compression at expense of
speed).
답변3
데이터베이스 잠금 문제로 인해 속도가 빨라야 하고 압축되지 않은 데이터를 임시로 보관할 만큼 빠르고 큰 디스크가 있는 경우 다음 접근 방식을 고려할 수 있습니다.
mysqldump "$database_name" > "$BACKUP_DIR"/"$database_name".sql
nice gzip "$BACKUP_DIR"/"$database_name".sql &
즉, 백업을 먼저 저장한 다음(디스크가 빠르고 CPU가 느린 경우 gzip보다 빠릅니다) 백그라운드에서 gzip을 저장합니다.
(직접) 압축에 소요되는 시간은 더 이상 중요하지 않으므로 더 나은 압축 알고리즘을 사용할 수도 있습니다.