由于现有的日志量越来越多了,原先一直用的gzip进行压缩的,默认的级别,可最近看着是越来越不行,是有必要进行新的选择。
选择的方向是就是zstd
在CentOS中直接
1
| sudo yum install zstd -y
|
就可以安装完成
由于是日志文件,我们单个分割是57MB的大文件
1 2 3 4 5 6 7 8 9 10 11
| 57M 2020020723.java.access30334_80.log 57M 2020020723.java.access30334_81.log 57M 2020020723.java.access30334_82.log 57M 2020020723.java.access30334_83.log 57M 2020020723.java.access30334_84.log 57M 2020020723.java.access30334_85.log 59M 2020020723.java.access30334_86.log 57M 2020020723.java.access30334_87.log 57M 2020020723.java.access30334_88.log 57M 2020020723.java.access30334_89.log 57M 2020020723.java.access30334_8.log
|
使用gzip压缩,结果是花了17.9秒,压缩后的大小为原先的1/6左右
1 2 3 4 5
| time gzip *.log
real 0m17.930s user 0m16.806s sys 0m0.647s
|
1 2 3 4 5 6 7 8 9 10 11
| 9.2M 2020020723.java.access30334_80.log.gz 9.2M 2020020723.java.access30334_81.log.gz 9.0M 2020020723.java.access30334_82.log.gz 9.1M 2020020723.java.access30334_83.log.gz 9.1M 2020020723.java.access30334_84.log.gz 9.1M 2020020723.java.access30334_85.log.gz 9.4M 2020020723.java.access30334_86.log.gz 9.2M 2020020723.java.access30334_87.log.gz 9.3M 2020020723.java.access30334_88.log.gz 9.6M 2020020723.java.access30334_89.log.gz 9.0M 2020020723.java.access30334_8.log.gz
|
使用zstd压缩,使用了2.8秒,压缩后大小是原先的1/10左右
1 2 3 4 5
| time zstd -z *.log
real 0m2.847s user 0m2.784s sys 0m0.333s
|
1 2 3 4 5 6 7 8 9 10 11
| 5.6M 2020020723.java.access30334_80.log.zst 5.7M 2020020723.java.access30334_81.log.zst 5.5M 2020020723.java.access30334_82.log.zst 5.5M 2020020723.java.access30334_83.log.zst 5.6M 2020020723.java.access30334_84.log.zst 5.5M 2020020723.java.access30334_85.log.zst 5.7M 2020020723.java.access30334_86.log.zst 5.6M 2020020723.java.access30334_87.log.zst 5.5M 2020020723.java.access30334_88.log.zst 5.4M 2020020723.java.access30334_89.log.zst 5.6M 2020020723.java.access30334_8.log.zst
|
当然zstd使用方法要跟默认gzip一样压缩完后删除原文件,那就加上–rm参数就行,或者类似zcat这种就可以直接用zstdcat。具体可以参考help或者下面这篇文章,看这里zstd的压缩比是最优秀的。
参考:
https://blog.gtwang.org/linux/linux-zstd-fast-data-compression-tutorial/
下面这个是简单的比较,单个大小为57MB的11个文件。
|
zstd |
gzip |
压缩率 |
1/10 |
1/6 |
速度 |
2.8秒 |
17.9秒 |