经常使用tar.gz压缩文件,但也经常遇到tar.xz的文件,于是对这两种格式做了测试。
系统环境:
系统:CentOS 7.4.1708,固态硬盘
内存:192GB
CPU:E5-2682 单颗16核心超线程(共两颗)
我准备了一个tomcat的日志文件,大小1GB,1073741824 字节
[root@localhost ~]# ll-rw-r--r-- 1 root root 1073741824 11月 12 11:23catalina.out
[root@localhost~]# ll -h-rw-r--r-- 1 root root 1.0G 11月 12 11:23 catalina.out
使用gz压缩
[root@localhost ~]# date +%s ; tar zcf catalina.out.tar.gz catalina.out ; date +%s1573529319
1573529351
# 使用了 32 秒
使用xz压缩
[root@localhost ~]# date +%s ; tar -Jcf catalina.out.tar.xz catalina.out ; date +%s1573529383
1573529794
# 使用了 411 秒 (合6分51秒)
对比
1G文件压缩之后gz和xz 的大小分别为 122M 和 79M ,可见xz 的压缩比是比较高的。
[root@localhost ~]# ll
-rw-r--r-- 1 root root 1073741824 11月 12 11:23 catalina.out
-rw-r--r-- 1 root root 127752312 11月 12 11:29 catalina.out.tar.gz
-rw-r--r-- 1 root root 81999820 11月 12 11:36 catalina.out.tar.xz
[root@localhost ~]# ll -h
-rw-r--r-- 1 root root 1.0G 11月 12 11:23 catalina.out
-rw-r--r-- 1 root root 122M 11月 12 11:29 catalina.out.tar.gz
-rw-r--r-- 1 root root 79M 11月 12 11:36 catalina.out.tar.xz
解压时间
[root@localhost ~]# date +%s ; tar xf catalina.out.tar.gz ; date +%s1573530130
1573530136# gz 格式解压使用 6 秒
[root@localhost~]# date +%s ; tar xf catalina.out.tar.xz ; date +%s1573530149
1573530159
# xz 格式解压使用 10 秒
使用file 查看的文件格式
[root@localhost ~]# filecatalina.out
catalina.out: UTF-8 Unicode text, with very longlines
[root@localhost~]# file catalina.out.tar.xz
catalina.out.tar.xz: XZ compressed data
[root@localhost~]# file catalina.out.tar.gz
catalina.out.tar.gz: gzip compressed data, from Unix, last modified: Tue Nov 12 11:28:39 2019
可见对于xz格式压缩使用的时间较长,但压缩比较高,对于不同的环境需求可以选择合适的压缩格式。