Pigz: Compresión Usando Multiples Nucleos : Pigz vs Gzip

pigz

Comprimir más rápido

Hace tiempo plesk en la versión 11.5 cambio gzip por pigz para los backups y me dio curiosidad ver que tan bueno el nuevo sistema. Pigz es casi lo mismo que gzip solo que aprovecha los múltiples cores de los servidores a diferencia de gzip que solo usa un core, esa es la principal diferencia, el nivel de compresión es el mismo, pero la velocidad es mucho mayor.

Pega descripción de pigz:

pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries

Quería ver si es verdad lo de que es más eficiente y he hecho algunas pruebas:

Comprimiendo una carpeta de 115mb, contenido multiples archivos, varias webs de wordpress.
VPS para pruebas usado:

CPU 2x Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
1gb de ram

Con la opción por defecto:

Pigz:

Comprimido en 4 segundos:

Gzip:

Comprimido en 7.5 segundos.

Ahora probamos con un archivo de 689MB

Pigz:

Comprimido en 20.4 segundos

Gzip:

Comprimido en 41.9 segundos

Poco más del doble de tiempo, o sea que ganamos muchísimo tiempo, y eso tomando en cuenta que el servidor de pruebas es solo de 2 cores, entre más cores más velocidad ganaremos.

Para los que preguntan sobre la perdida de peso o el nivel de compresión, pues es el mismo con gzip que con pigz, lo único que ganamos es tiempo ya que aprovechamos los multiples cores.

pigzipvsgzip

Con pigz podemos usar el siguiente comando para comprimir:

pigz -k archivo

OJO que solo comprime archivos, si tenemos una carpeta primero tenemos que empaquetarla con tar

tar -cvf nombre.tar carpeta/

Luego usar el comando mencionado arriba, la opción -k evita que se borre el archivo antiguo.

Pigz tiene la opción -r, la cual podemos usar en carpetas, pero lo que hará esto es comprimir todos los archivos que hay en la carpeta no la carpeta.

Explico esto mejor, tenemos 100 archivos en una carpeta si usamos la opción -r de pigz lo que hará será crear 100 archivos comprimidos, o sea comprime cada archivo individualmente no crea un paquete con todos los archivos como dije antes, vamos que hace lo mismo que gzip pero aprovechando multiples nucleos.

Por lo demás es una buena opción si queremos hacer backups y ganar velocidad comprimiendo, aunque por ahí existe tar para multiples cores que se llama mtar.

Por otro lado se puede mejorar el nivel de compresión de pigz al igual que se puede hacer en gzip.

Para mejorar el nivel de compresión en pigz se puede usar el valor –best para un nivel máximo de compresión o –fast para el nivel minimo, lo mismo se puede establecer con números igual que en gzip, del 0 que es sin compresión al -9 que es la máxima compresión.

Pueden ver más info en este enlace:

Y se puede instalar usando apt y yum:

apt-get install pigz

o en centos

yum install pigz

Espero les sirva y les ahorre tiempo 😉

Publicado por Maks Skamasle

Sysadmin, fotógrafo aficionado y me gusta tomar el té por las madrugadas cuando no hay ruido ni sol y mas fresco esta el día.

No usamos Cookies para rastrear nada, navega tranquilo...
Seguir Navegando
x