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 让其能够承载上亿用户的访问规模. 虽然单台 ...
随机推荐
- 缓存插件 EHCache
EHCache是来自sourceforge(http://ehcache.sourceforge.net/)的开源项目,也是纯Java实现的简单.快速的Cache组件. 下载jar包 Ehcache ...
- Codeforces Round #342 (Div 2) 解题报告
除夕夜之有生之年CF第一场 下午从奶奶家回到姥姥家,一看还有些时间,先吃点水果陪姥姥姥爷聊了会儿,再一看表,5:20....woc已经开场20分钟了...于是抓紧时间乱搞.. **A. Guest F ...
- 洛谷P2633 王后万岁
题目描述 byteland的王后深受百姓爱戴.为了表达他们的爱,国民们打算占领一个新的国家,并以王后的名字命名.这个国家有n座城市.城市之间有双向道路连接,且每两个城市之间有且仅有一条道路.每座城市对 ...
- MVC区域 视图必须派生自 WebViewPage 或 WebViewPage<TModel>
http://blog.csdn.net/iack_ji/article/details/16965885 今天在学习 mvc区域时,将区域控制器类 外迁到其他的程序集的练习中出现了"视图必 ...
- Redux初探与异步数据流
基本认知 先贴一张redux的基本结构图 原图来自<UNIDIRECTIONAL USER INTERFACE ARCHITECTURES> 在这张图中,我们可以很清晰的看到,view中产 ...
- jquery------添加jQuery对象方法
my.js $(document).ready(function(){ (function($){ $.fn.swapClass=function(class1,class2){ if(this.ha ...
- iOS欢迎界面Launch Screen动态加载广告
有许多应用程序在打开的时候,欢迎界面会加载一张连网获取的广告图片或者显示一组动画,这样的效果是如何做到的呢?下面给大家介绍一种简单的实现加载广告的方式. 程序运行起来,欢迎界面之后,会进入AppDel ...
- mybatis中的resultMap
resultMap <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBL ...
- IHttpModule在webconfig中的注册
在asp.net中,提供了两种方式用来解决获取由asp.net服务器创建和维护的HttpApplication对象,方便注册HttpApplication对象的事件处理.这两种方式为:IHtpModu ...
- C++中虚函数的作用浅析
虚函数联系到多态,多态联系到继承.所以本文中都是在继承层次上做文章.没了继承,什么都没得谈. 下面是对C++的虚函数这玩意儿的理解. 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你 ...