bzip2
集群文件导出到接口机后,采用bzip2的方式进行压缩,但是时间特别长,由于公司的考核要求,不能接受这么长时间的压缩。
查询研究后,发现了可以多线程压缩的工具pbzip2(bzip2是单线程)。
何为单线程?即使用一个CPU(这里的一个CPU是指逻辑CPU个数,不是物理CPU个数)。
pbzip2
安装
pbzip2的安装与使用也非常简单。
1.下载最新源码:http://compression.ca/pbzip2/ ,得到文件 pbzip2-1.1.13.tar.gz;
或者https://files.cnblogs.com/files/leeyuki/pbzip2-1.1.13.tar.gz
2.上传到服务器后,执行命令:tar zxvf pbzip2-1.1.13.tar.gz;
3.进入解压后的目录,执行编译命令:make;
make后,目录里出现了pbzip2这样一个可执行文件。
到这里,pbzip2已经可以使用了,比如在当前目录下 ./pbzip2 –h 可以显示帮助信息,但为了我们平时的开发方便,我们需要进一步处理。
切换到root用户,拷贝pbzip2文件到/usr/local/bin目录下,我们即可直接引用了。
退出root,显示命令的帮助信息:
试用
bzip2压缩时间
pbzip2压缩时间(8线程)
两者压缩后的文件(几乎)一样,但是pbzip2时间仅仅用了17分钟,bzip2耗时2小时48分钟。
如果机器性能够好,可以提高并行线程数,那将更高效。
(压缩的文件为2.6亿条数据)