Linux并行g(shù)zip壓縮工具pigz

由于項目原因,經(jīng)常需要壓縮和解壓縮大量的數(shù)據(jù)。10G規(guī)模以上,而默認tar打包和系統(tǒng)默認的壓縮工具是單線程的。服務(wù)器多核CPU完全利用不起來,瓶頸在CPU的處理上面。于是使用了pigz這個可以利用多核的并行壓縮工具。效果顯著,如果你也需要頻繁壓縮大量的數(shù)據(jù),可以嘗試一下這個軟件。

1. 安裝

centos & redhat系

yum install pigz

debian & ubuntu系

apt-get install pigz

2. 使用

壓縮

其中packages是要壓縮的目錄,packages.tgz是壓縮后的名稱。

tar --use-compress-program=pigz -cpvf packages.tgz packages 

解壓

tar --use-compress-program=pigz -xvf packages.tgz

3. 對比

我的服務(wù)器配置是:
CPU:Intel E5-2620 CPU,雙CPU,共12核,24線程
內(nèi)存:32G內(nèi)存
硬盤:RAID0 雙盤 SAS機械盤
壓縮包的大小是壓縮前33G,壓縮后10G

單線程解壓用時:5分36秒

命令:

time tar -xvf rpms.tgz
image.png

pigz多線程解壓用時: 3分2秒

命令:

time tar --use-compress-program=pigz -xvf rpms.tgz
image.png

單線程壓縮用時:20分35秒

命令:

time tar -cpzvf - packages | split -b 3500m -d - rpms.tgz
image.png

pigz多線程壓縮用時:2分8秒

命令:

time tar --use-compress-program=pigz -cpvf - packages | split -b 3500m -d - rpms.tgz
image.png

4. 總結(jié)

在我的服務(wù)器上面速度還是有很明顯提升的,尤其是壓縮時間,提高了10倍。解壓時間也提升了一倍左右。如果需要大量的壓縮和解壓縮工作,效率還是會提高很多的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容