.Tar.gz: 압축 시간과 압축 해제 시간 사이에 관계가 있습니까?

.Tar.gz: 압축 시간과 압축 해제 시간 사이에 관계가 있습니까?

mongodb(~500GB)의 백업을 .tar.gz 아카이브로 압축하고 있는데, 이 작업에는 몇 시간 정도의 시간이 걸립니다. 테스트 목적으로 해당 데이터베이스를 다른 컴퓨터에 백업하려고 하는데, 컴퓨터당 이 작업에 걸리는 시간을 추정하고 싶습니다.

내 질문은 압축에 걸린 시간을 기준으로 아카이브의 압축을 푸는 데 걸리는 시간을 추정할 수 있는 방법이 있습니까?

감사해요

답변1

압축과 압축 해제의 표준 비율은 데이터와 서버 리소스에 따라 달라지기 때문에 잘 모르겠습니다. 다른 모든 리소스가 동일하다고 가정하면 관련된 계산 작업이 적기 때문에 일반적으로 압축 해제가 더 빠릅니다. 최악의 경우 추정치는 초기 압축 시간과 동일할 수 있습니다.

그러나 쉬운 승리를 위해서는 다음을 사용하는 것이 좋습니다.pigz, 병렬 구현은 gzip여러 프로세서 및 코어를 활용합니다. 단일 코어만 사용할 수 있는 경우를 제외하고는 pigz압축 및 압축 해제 시간을 크게 줄여야 합니다.

다음을 사용한 샘플 사용법 tar:

tar -c --use-compress-program=pigz -f data.tgz /path/to/data

더 많은 예를 보려면 다음을 참조하세요.StackOverflow: tar+gzip/bzip 압축/압축 해제를 위해 멀티 코어 활용.

답변2

동일한 머신에 대한 명확한 비율은 없으며 여러 머신(다른 유형)을 사용하면 확실히 영향을 미칠 수 있습니다. 압축 및 압축 해제에는 데이터 저장소(예: "하드 드라이브" 또는 "SSD"), 프로세서 및 메모리와 같은 기타 구성 요소가 적극적으로 포함됩니다.

과도한 일반화로 인해 압축 해제는 매우 빠르며, 압축되지 않은 양의 데이터를 복사하는 것보다 더 빠를 수도 있습니다. 압축도 비슷하게 빠르며 RLE 압축과 같은 경우에는 빠를 수 있습니다. zip 및 gzip의 경우 일반적인 구현은 압축 해제보다 느리며, 2~4배 더 오래 걸릴 수 있는 더 공격적인 압축 옵션을 선택하면 압축 효율성을 5%~15% 더 끌어낼 수 있는 경우가 많습니다.

차이점은 주로 압축에 일부 테스트(때때로 "추측"으로 간주됨)가 포함되고 일부 테스트는 효과가 없기 때문입니다. 대조적으로, 압축 해제는 일반적으로 사전 설정된 프로세스를 따르기 때문에 상대적으로 더 빠르게 진행됩니다.

관련 정보