gzip parallele

Utiliser tous vos coeurs avec gzip

Comment accélérer la compression gzip en utilisant tous les coeurs de votre processeur

gzip linux, gzip multithread

Date de publication : 2011-02-14 19:06:46

Je viens de trouver un programme qui vient de changer ma vie : pigz. (Merci Yvan ;)

Pigz est un programme en ligne de commande qui est une implémentation de la commande gzip en multithread.

Sur le processeur de ma machine j'ai deux cœurs. Quand j'utilise la commande dd pour faire le backup de ma partition système je n'obtiens qu'un débit de 10Mo/sec par seconde.


root@dell:~# dd if=/dev/sda1 bs=1k conv=sync,noerror | pv | gzip -c -9 > /media/backup/root-img.gz
9,29GO 0:10:39 [10,7MO/s]

En exécutant un htop je constate qu'un seul de mes cœurs est utilisé.

En relançant la même commande avec pigz, le débit passe à 20 Mo/sec et atteint même 25 Mo/sec. Dans htop mes deux coeurs sont utilisés cette fois. Une sacré différence !


root@dell:~# dd if=/dev/sda1 bs=1k conv=sync,noerror | pv | pigz -c -9 > /media/backup/root-img.gz
9,29GO 0:10:39 [20,3MO/s]

Image : fractalznet

 
 

b1n@sp1n