经常使用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:23 catalina.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 +%s 1573529319 1573529351
# 使用了 32 秒
使用xz压缩
[root@localhost ~]# date +%s ; tar -Jcf catalina.out.tar.xz catalina.out ; date +%s 1573529383 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 +%s 1573530130 1573530136
# gz 格式解压使用 6 秒
[root@localhost ~]# date +%s ; tar xf catalina.out.tar.xz ; date +%s 1573530149 1573530159
# xz 格式解压使用 10 秒
使用file 查看的文件格式
[root@localhost ~]# file catalina.out catalina.out: UTF-8 Unicode text, with very long lines
[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格式压缩使用的时间较长,但压缩比较高,对于不同的环境需求可以选择合适的压缩格式。