经常使用tar.gz压缩文件,但也经常遇到tar.xz的文件,于是对这两种格式做了测试。

系统环境:

系统:CentOS 7.4.1708,固态硬盘
内存:192GB
CPUE5-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格式压缩使用的时间较长,但压缩比较高,对于不同的环境需求可以选择合适的压缩格式。

01-07 01:25