ZFS支持文件系统压缩,并且还caching经常或最近访问的数据。
如果一个系统有很多的CPU,但底层的数据存储系统很慢。 在压缩打开的情况下,ZFS可能会更好地执行。 通过测量CPU和磁盘使用率以及吞吐量来编写文件时,可以很容易地testing这个function (当然可能存在延迟,但这对大文件来说不成问题)。
但是caching呢? 如果每次读取数据都必须进行解压缩,那么这可能不是一个好主意。
caching的数据是否被压缩? 有人有这方面的信息吗?
我问太阳ZFS工程师理查德·埃林这个问题。 他告诉我,L2ARC是未压缩的,就像ARC是未压缩的。
对不起,我无法提供文件或规格。 我唯一的证据就是,上周遇到他的时候,帮助deviseZFS的人中有一个亲自告诉了我。 🙂
今天L2ARC可以用LZ4压缩,ARC仍然是未压缩的。 更多信息可在OpenZFS网站上find – > http://open-zfs.org/wiki/Features#l2arc_compression
ARC或L2ARC中的caching数据始终未压缩。 期。 否则,每次从ARC或L2ARC中读取都会有相应的CPU开销,这对于一些algorithm可能是非常重要的(我在看你bzip2)。 假设文件系统上的compression = yes,池磁盘上的数据和ZIL(如果适用)将始终被压缩。
你是正确的,当存储压缩比较好的数据时,如果系统中有大量的CPU,但是有限的IO可能会在启用压缩的情况下更好地预处理。 这不是ZFS的一个独特特性,你可以在NTFS或其他文件系统上启用压缩方面find大量的参考资料。
是。 ZFS将以任何formscaching经常访问的数据。 使用默认压缩scheme的性能是好的,并且只花费一点CPU时间。 压缩在飞行中完成。 您可以通过添加SSD L2ARCcaching设备来进一步扩展此function。