为什么 ZFS gzip-9 压缩比实际使用 zip 文件差这么多?

Chu*_*huu 2 compression filesystems zfs gzip

我正在处理一些非常大的数据包捕获文件(30 个文件中约 150GB),但由于数据包捕获的冗余度非常高,这些文件使用 .zip 文件压缩到原始文件大小的约 7% (14.29x)。

我想知道是否可以通过使用“compression=gzip-9”设置创建 ZFS 分区来“本地”处理这些文件。我创建了分区,复制了数据包捕获,最终结果是压缩率为 20.83% (4.80x)。

我想知道为什么会有这么大的差异。

Mik*_*hik 5

这是因为每个记录(文件块)都是独立压缩的(允许从文件中间读取大文件)。设置大记录大小:

zfs set recordsize=128k zpool/fsname

或创建具有大记录大小的新文件系统:

zfs create -o recordsize=128k zpool/fsname

此设置仅影响文件系统中创建的新文件fsname