zfs提供几种压缩算法,
lzjb, gzip, gzip-[0-9], zle, lz4
其中默认的压缩算法为lzjb, 这个是zfs的作者jeff bonwick提供的, gzip默认的压缩级别为6, 或者指定压缩级别.
这里主要测试一下压缩时间和压缩比.
注意, 压缩选项默认是关闭的, 压缩选项针对dataset来设置, 同一个pool中不同的dataset可以设置不同的压缩算法, 也可以开关混用. 对于未使用压缩的dataset, 如果已经存在数据的话, 开启压缩后, 之后的数据会压缩, 但是之前存储的数据不会变动.
首先测试的是lzjb.
测试gzip
测试gzip-9
测试lz4
不压缩的情况测试 :
从测试结果来看, gzip6的压缩比最高, 同时时间也比较折中, 推荐使用.
另外作者的算法lzjb也是被大多数人推荐使用的.
建议所有的dataset都开启压缩, 从测试数据来看, 显然cpu不是问题, io是大问题. 因为未开启压缩的情况下, 耗时是最长的.
[参考]
1. https://pthree.org/2012/12/18/zfs-administration-part-xi-compression-and-deduplication/