.Tar.gz: Existe uma relação entre o tempo de compactação e descompactação?

.Tar.gz: Existe uma relação entre o tempo de compactação e descompactação?

Estou compactando um backup de um mongodb (~ 500 GB) em um arquivo .tar.gz, o que leva horas. Estou tentando fazer backup desse banco de dados em máquinas diferentes para fins de teste e gostaria de ter uma estimativa de quanto tempo isso levará por máquina.

Minha pergunta é: existe alguma maneira de estimar o tempo que levará para descompactar o arquivo, com base no tempo que levou a compactação?

Obrigado

Responder1

Não conheço uma proporção padrão de compactação para descompactação, pois isso realmente depende dos dados e dos recursos do servidor. Supondo que todos os outros recursos sejam iguais, a descompressão é geralmente mais rápida, pois há menos trabalho computacional envolvido. Sua estimativa do pior caso pode ser igual ao tempo de compactação inicial.

No entanto, para uma vitória fácil, eu recomendaria usarpigz, uma implementação paralela gzipque aproveita vários processadores e núcleos. A menos que você tenha apenas um único núcleo disponível, pigzdeverá reduzir substancialmente o tempo de compactação e descompactação.

Exemplo de uso com tar:

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

Para mais exemplos, consulteStackOverflow: Utilizando multi core para compactação/descompactação tar+gzip/bzip.

Responder2

Não existe uma proporção definida na mesma máquina, e o uso de múltiplas máquinas (de tipos diferentes) pode definitivamente ter um impacto. A compactação e a descompactação envolvem ativamente o armazenamento de dados (por exemplo, um "disco rígido" ou "SSD"), processador e outros componentes como memória.

Como generalização excessiva, a descompactação é bastante rápida e pode até ser mais rápida do que copiar a quantidade de dados descompactada. A compactação também pode ser igualmente rápida, e para algo como a compactação RLE pode ser. Para zip e gzip, as implementações comuns são mais lentas do que a descompactação, e muitas vezes você pode obter outros 5% a 15% de eficácia de compactação se escolher opções de compactação mais agressivas que podem levar de 2 a 4 vezes mais tempo.

A diferença ocorre principalmente porque a compactação envolve alguns testes (às vezes considerados "adivinhações") e alguns testes são infrutíferos. Em contraste, a descompressão geralmente segue apenas um processo pré-estabelecido, de modo que é relativamente mais rápido.

informação relacionada