用pigz代替gzip

By yejr on 03 十二月 2012

pig是个啥东东?
官网:http://zlib.net/pigz
一句话简介:

A parallel implementation of gzip for modernmulti-processor, multi-core machines。

简单的说,就是支持并行的gzip。废话不多说,开始测试。

pig默认用当前逻辑cpu个数来并发压缩,无法检测个数的话,则并发8个线程。

一、测试压缩包文件1
压缩前
-rw-r--r-- 1 root root 2474772480 Dec 3 19:54 dbs.tar 1、gzip测试
压缩耗时,CPU最高:101.6%
real 2m18.042s
user 2m10.204s
sys 0m6.876s 解压缩耗时,CPU最高:101.6%
real 0m26.756s
user 0m20.175s
sys 0m6.580s 压缩后
-rw-r--r-- 1 root root 2349563863 Dec 3 19:54 dbs.tar.gz 2、pigz测试
并发8线程(默认):
压缩耗时,CPU最高:832%
real 0m21.710s
user 2m31.229s
sys 0m9.101s 解压缩耗时,CPU最高:199%
real 0m13.239s
user 0m11.791s
sys 0m12.426s 并发4线程:
压缩耗时,CPU最高:427.6%
real 0m38.299s
user 2m30.701s
sys 0m8.369s 解压缩耗时,CPU最高:202%
real 0m13.294s
user 0m12.154s
sys 0m11.862s 压缩后
-rw-r--r-- 1 root root 2350161547 Dec 3 19:54 dbs.tar.gz 二、测试压缩包文件2
压缩前
-rw-r--r-- 1 root root 5248890880 Dec 3 20:26 mysql-5.5.28-linux2.6-x86_64.tar 1、gzip测试
压缩耗时,CPU最高:101%
real 6m20.524s
user 6m2.466s
sys 0m7.410s 解压缩耗时,CPU最高: 101%
real 0m58.893s
user 0m46.258s
sys 0m11.944s 压缩后
-rw-r--r-- 1 root root 1410045513 Dec 3 20:26 mysql-5.5.28-linux2.6-x86_64.tar.gz 2、pigz测试
并发8线程(默认):
压缩耗时,CPU最高: 799%
real 1m11.908s
user 6m36.717s
sys 0m9.860s 解压缩耗时,CPU最高:179%
real 0m33.188s
user 0m38.069s
sys 0m16.728s 并发4线程:
压缩耗时,CPU最高: 418%
real 1m41.547s
user 6m36.782s
sys 0m9.806s 解压缩耗时,CPU最高: 179%
real 0m33.120s
user 0m37.500s
sys 0m16.956s 压缩后
-rw-r--r-- 1 root root 1406061442 Dec 3 20:26 mysql-5.5.28-linux2.6-x86_64.tar.gz

结论:

1、pigz默认用法(默认并发线程是逻辑cpu个数)可比gzip快5.3倍,CPU消耗则是gzip的8倍,压缩比则相当;
2、并发8线程对比4线程提升:41.2%,16线程对比8线程提升:27.9%,32线程对比16线程提升:3%;
3、在对压缩效率要求较高、但对短时间内CPU消耗较高不受影响的场景,使用pigz非常合适。 转自:http://imysql.cn/2012/12/03/using-pigz-instead-of-gzip.html 经个人测试,gzip和pigz命令可以互通,即用gzip压缩的文件可以用pigz来解压,pigz压缩的文件也可以用gzip来解压·~~~~放心使用,哈哈····

用pigz代替gzip -- 并行压缩软件的更多相关文章

  1. 关于压缩软件gzip和xz的简单对照

    晚上因为处理磁盘报警的须要.进行了日志压缩,在此次压缩中分别使用了gzip和xz软件对文本进行了压缩.压缩的结果很令人诧异. 出于对xz好奇的原因是因为在下载内核源码时常常能够看到.xz格式的文件包. ...

  2. linux服务器的Gzip文件压缩方法[转]

    一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...

  3. bzip2 一种块排序文件压缩软件

    总览 bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ] bunzip2 [ -fkvsVL ] [ filenames ... ] bzcat [ - ...

  4. Android总结之Gzip/Zip压缩

    前言: 做过Android网络开发的都知道,在网络传输中我们一般都会开启GZIP压缩,但是出于刨根问底的天性仅仅知道如何开启就不能满足俺的好奇心的,所以想着写个demo测试一下比较常用的两个数据压缩方 ...

  5. CentOS下Apache开启Gzip网页压缩功能

    1.进入/etc/httpd/conf下打开httpd.conf文件 开启Gzip压缩功能,即去掉LoadModule deflate_module modules/mod_deflate.so这行前 ...

  6. Nginx开启GZIP来压缩网页

    HTTP协议上的GZIP编码是一种用来改进web应 用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中 ...

  7. 解决winrar压缩软件弹出广告

    最近winrar每次打开压缩包就会弹出一个广告,那是因为winrar是收费软件,注册了就没有广告了.下面我教大家怎么注册来屏蔽广告. 解决方法 1.新建一个txt文件并命名为"rarreg. ...

  8. Filter之——GZIP全站压缩

    GZIP压缩:将压缩后的文本文件,发送给浏览器,减少流量. 一.进行gzip压缩条件: 1.请求头:Accept-Encoding : gzip  告诉服务器,该浏览器支持gzip压缩. 2.响应头: ...

  9. gzip [选项] 压缩(解压缩)

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用. 语法:gzip ...

随机推荐

  1. BZOJ1925 [Sdoi2010]地精部落 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1925 题意概括 给出n,n<=4200,问1~n这些数的排列中,有多少满足一下性质: 性质: ...

  2. java中函数传值和传地址的问题

    记录一下这个难过的双休,2019.3.16-2019.3.17,16号上午字节跳动笔试,四道题只做出1道半,输入输出搞的半死,第三题类似于leetcode上的分糖问题,数组初始化的时候全部赋为0了,要 ...

  3. 030.Zabbix分布式部署

    一 分布式Zabbix介绍 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix se ...

  4. Solution for unable to create "dead-letter-exchange" in RabbitMQ

    在参考 Dead-Letter-Exchange 进行Dead-letter-exchange的理解, 在本地时,想要创建 Dead-letter-exchange 时,一直报错,错误如下: Unha ...

  5. Linux /etc/profile文件详解

    Linux /etc/profile文件详解   转载地址:http://linux.chinaitlab.com/administer/820910.html linux /etc/profile文 ...

  6. 基于tensorflow搭建一个神经网络

    一,tensorflow的简介 Tensorflow是一个采用数据流图,用于数值计算的 开源软件库.节点在图中表示数字操作,图中的线 则表示在节点间相互联系的多维数据数组,即张量 它灵活的架构让你可以 ...

  7. 浅表拷贝vs深度拷贝

    浅表复制,只是创建所有的值类型,所有的引用类型还是会指向被复制的对象的引用. 故,当被复制的对象的引用类型发生改变的同事,复制的对象相应的 引用类型的值也是会发生改变的. 所以事件字段也是一个引用类型 ...

  8. 对类方法进行约束(类的抽象方法ABC+raise抛出异常 )

    #base.py #####方法一###### from abc import ABCMeta from abc import abstractmethod class BaseMessage(met ...

  9. 不让Editplus保存时java文件时生成.bak文件

    EditPlus是一个强大的编辑工具,不单单是编辑文字强大,很多的刚开始学习编程语言的初学者会选择它,例如 html,js,php,java.但是却遇到一个问题,就是每次编辑完后点保存就会出 现bak ...

  10. git代码合并:Merge、Rebase的选择

    代码合并:Merge.Rebase的选择 Zhongyi Tong edited this page on Dec 7, 2015 · 3 revisions Pages 19 Home 2.1 快速 ...