美文网首页
Linux并行gzip压缩工具pigz

Linux并行gzip压缩工具pigz

作者: 冰封飞飞 | 来源:发表于2018-12-23 17:14 被阅读0次

    由于项目原因,经常需要压缩和解压缩大量的数据。10G规模以上,而默认tar打包和系统默认的压缩工具是单线程的。服务器多核CPU完全利用不起来,瓶颈在CPU的处理上面。于是使用了pigz这个可以利用多核的并行压缩工具。效果显著,如果你也需要频繁压缩大量的数据,可以尝试一下这个软件。

    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. 对比

    我的服务器配置是:
    CPU:Intel E5-2620 CPU,双CPU,共12核,24线程
    内存:32G内存
    硬盘: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. 总结

    在我的服务器上面速度还是有很明显提升的,尤其是压缩时间,提高了10倍。解压时间也提升了一倍左右。如果需要大量的压缩和解压缩工作,效率还是会提高很多的。

    相关文章

      网友评论

          本文标题:Linux并行gzip压缩工具pigz

          本文链接:https://www.haomeiwen.com/subject/wzpnkqtx.html