lz4,pigz,gzip 3者比较
一、压缩
(1.1)使用gzip进行打包:
# time tar -zcf tar1.tar binlog*
real 0m48.497s
user 0m38.371s
sys 0m2.571s
(1.2)使用pigz压缩,同时设置最高压缩速度(-1)
# time tar -cv binlog* | pigz -1 -p 24 -k >pigz1.tar.gz
real 0m10.715s
user 0m17.674s
sys 0m1.699s
(1.3) 使用pigz压缩,默认压缩比
# time tar -cv binlog* | pigz -p 24 -k >pigz2.tar.gz
real 0m22.351s
user 0m39.743s
sys 0m1.341s
(1.4)使用pigz压缩,同时设置最高压缩比(-9)
# time tar -cv binlog* | pigz -9 -p 24 -k >pigz3.tar.gz
real 0m46.975s
user 1m26.118s
sys 0m1.473s
(1.5) 使用lz4压缩,同时设置最高压缩速度(-1)
# time tar -cv binlog* | lz4 -1 > lz41.tar.gz
real 0m4.969s
user 0m2.953s
sys 0m1.199s
(1.6) 使用lz4压缩,使用默认设置
# time tar -cv binlog* | lz4 > lz42.tar.gz
real 0m4.447s
user 0m2.958s
sys 0m1.185s
(1.7) 使用lz4压缩,同时设置最高压缩比(-9)
# time tar -cv binlog* | lz4 -9 > lz43.tar.gz
real 0m56.144s
user 0m54.300s
sys 0m1.301s
以上方式的打包压缩后文件大小
127M tar1.tar (1.1)
152M pigz1.tar.gz (1.2)
127M pigz2.tar.gz (1.3)
123M pigz3.tar.gz (1.4)
216M lz41.tar.gz (1.5)
216M lz42.tar.gz (1.6)
163M lz43.tar.gz (1.7)
二、解压缩:
(2.1)直接使用tar -xvf解压缩tar文件
# time tar -xvf tar1.tar
real 0m42.329s
user 0m9.134s
sys 0m2.704s
(2.2) 直接使用tar -xvf解压缩pigz打包的文件(pigz压缩的文件可以使用tar直接解压缩)
# time tar -xvf pigz1.tar.gz
real 0m42.048s
user 0m9.818s
sys 0m2.927s
(2.3)使用pigz -d对pigz压缩文件进行解压
# file=pigz1.tar && pigz -k -d $file.gz && time tar -xf $file
real 0m56.706s
user 0m0.074s
sys 0m2.588s
(2.4)不可使用tar -xvf解压lz4压缩的文件
# time tar -xvf lz41.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
(2.5)使用lz4 -d对lz4压缩文件进行解压
# file=lz41.tar && lz4 -d $file.gz $file && time tar -xf $file
Successfully decoded 1203701760 bytes
real 0m59.851s
user 0m0.064s
sys 0m2.699s
三、结论:
从上列数据可以总结出以下结论:
1.使用pigz指命明显比gzip快(网上说法是5倍),但同时CPU消耗也比较大(网上说法是8倍左右),两者压缩后文件大小无异。
2.使用lz4能获得很好的压缩速度,但压缩的文件比用gzip和pigz稍大。
3.pigz压缩的文件可以直接用tar -x指令解压缩,而使用lz4压缩的文件不可。
从实现数据来看,如果目前系统想提高压缩解压缩速率,可以考虑切换到pigz压缩方式,不过会增大cpu消耗。在对压缩效率要求较高、但对短时间内CPU消耗较高不受影响的场景,使用pigz非常合适。
lz4,pigz,gzip 3者比较的更多相关文章
- 使用tar+lz4/pigz+ssh更快的数据传输
使用tar+lz4/pigz+ssh更快的数据传输 -- | :41分类:Linux,MySQL | 前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速 ...
- 速度之王 — LZ4压缩算法(三)
LZ4使用 make / make clean 得到可执行程序:lz4.lz4c Usage: ./lz4 [arg] [input] [output] input : a filename Argu ...
- FreeBSD_11 - 系统管理——{ Part_5 - ZFS }
参考資料 http://docs.oracle.com/cd/E37934_01/html/E36658/toc.html https://www.freebsd.org/doc/en_US.ISO8 ...
- Filebeat配置参考手册
Filebeat的配置参考 指定要运行的模块 前提: 在运行Filebeat模块之前,需要安装并配置Elastic堆栈: 安装Ingest Node GeoIP和User Agent插件.这些插件需要 ...
- FreeBSD ZFS
FreeBSD ZFS https://www.cnblogs.com/hadex/p/6068476.html 参考資料 http://docs.oracle.com/cd/E37934_01/ht ...
- 一款Redis客户端,可以作为Redis Desktop manager的有效补充或替代
一.由来 对于redis客户端,我和大多数人一样,都是用Redis Desktop Manager. 但我发现个问题,我的版本是0.9.1.771. 我这个版本有个问题,就是如果value太长的话,不 ...
- KuDu论文解读
kudu是cloudera在2012开始秘密研发的一款介于hdfs和hbase之间的高速分布式存储数据库.兼具了hbase的实时性.hdfs的高吞吐,以及传统数据库的sql支持.作为一款实时.离线之间 ...
- redis实战笔记(10)-第10章 扩展Redis
本章主要内容 扩展读性能 扩展写性能以及内存容量 扩展复杂的查询 随着Redis的使用越来越多, 只使用一台Redis服务器没办法存储所有数据或者没办法处理所有读写请求的问题迟早都会出现, 这 ...
- Redis实战:如何构建类微博的亿级社交平台
微博及 Twitter 这两大社交平台都重度依赖 Redis 来承载海量用户访问.本文介绍如何使用 Redis 来设计一个社交系统,以及如何扩展 Redis 让其能够承载上亿用户的访问规模. 虽然单台 ...
随机推荐
- websocket在.net4.5中实现的简单demo
以下代码环境要求:win8或win10, .net4.5+IIS8 win7上是IIS7,win7上.net本身不直接支持websocket, win7可以用superwebsocket, 或自己根据 ...
- 【转】document.documentElement和document.body的区别
转自:http://www.cnblogs.com/ckmouse/archive/2012/01/30/2332070.html 网页中获取滚动条卷去部分的高度,可以通过 document.body ...
- codevs 1835 魔法猪学院 A*寻k短路做了一个月卡死在spfa那了/(ㄒoㄒ)/~~
SPFA时点出队后一定要把在队内的标记置为false!SPFA时点出队后一定要把在队内的标记置为false!SPFA时点出队后一定要把在队内的标记置为false! 我因为这个卡了一个月大家信吗?测得时 ...
- Jquery-获取子元素children,find
1.查找子元素方式1:> 例如:var aNods = $("ul > a");查找ul下的所有a标签 2.查找子元素方式2:children() 3.查找子元素方式3 ...
- jQuery Select的操作集合
1. $("#select_id").change(function(){... }); //为select添加事件,当选择其中一项时触发2. $("#select_ ...
- Android基础类之BaseAdapter
转:http://www.cnblogs.com/mandroid/archive/2011/04/05/2005525.html Android基础类之BaseAdapter BaseAdapter ...
- windows ubuntu双系统启动
开始安装系统 1.安装系统 首先安装windows8和ubuntu12.04,安装先后顺序可以不用管,只是安装到ubuntu的分区时需要注意device for boot loader install ...
- leach协议matlab仿真代码
http://www.ilovematlab.cn/thread-177006-1-1.html LEACH協議clear;%清除內存變量 xm=100;%x軸範圍ym=100;%y軸範圍 sink. ...
- 多线程java代码移植到android&下载文本界面的更新
1)效果演示:
- js获取页面url的方法
我们可以用javascript获得其中的各个部分 1, window.location.href 整个URl字符串(在浏览器中就是完整的地址栏) 本例返回值: http://ifisker.com/b ...