Live data from Hacker News

Performance of Solaris' ZFS LZ4 Compression

jomasoftmarcel.blogspot.com

1–10 of 23 posts

Re: Performance of Solaris' ZFS LZ4 Compression

#2
Please note: Oracle does not implement the same version of ZFS as everyone else does. Sun chose the OpenZFS project as the steward of ZFS, and Oracle chose to never integrate OpenZFS upstream into their version of Solaris (which it itself is also an incompatible fork of the actual Solaris steward project, Illumos née OpenSolaris).

Since OpenZFS already implements LZ4 compression (and has so for quite some time), this is yet another feature that, once enabled, will stop you from importing your incompatible pool into anything that actually implements ZFS.

Re: Performance of Solaris' ZFS LZ4 Compression

#3
This really is too brief a study (although it's obviously fine for someone to write a quick blog-post about whatever they want).

Most importantly, how fast is the disk? I suspect (but would benchmark if I really needed to know) that the effects of compressions will be greatly different on an older 7,200 rpm spinning disk, vs a modern SSD.

Re: Performance of Solaris' ZFS LZ4 Compression

#4
post #2

Please note: Oracle does not implement the same version of ZFS as everyone else does. Sun chose the OpenZFS project as the steward of ZFS, and Oracle chose to never integrate OpenZFS upstream into their version of Solaris (which it itself is also an incompatible fork of the actual Solaris steward project, Illumos née OpenSolaris). Since OpenZFS already implements LZ4 compression (and has so for quite some time), this…

I think its a bit much to pretend that oracle somehow doesn't have "real" ZFS and solaris, even if you dont like what they have done with them and they are incompatable.

Re: Performance of Solaris' ZFS LZ4 Compression

#5
post #2

Please note: Oracle does not implement the same version of ZFS as everyone else does. Sun chose the OpenZFS project as the steward of ZFS, and Oracle chose to never integrate OpenZFS upstream into their version of Solaris (which it itself is also an incompatible fork of the actual Solaris steward project, Illumos née OpenSolaris). Since OpenZFS already implements LZ4 compression (and has so for quite some time), this…

That's not really accurate phrasing, Sun had no involvement in OpenZFS because it started after Sun no longer existed. Sun maintained OpenSolaris which served as the de facto implementation of ZFS. OpenZFS was started in response to Oracle discontinuing OpenSolaris and only doing further ZFS in private.

You are correct about incompatible features. Sun and Oracle use a monotonically increasing integer to note new ZFS versions. OpenZFS instead incremented the version to 5000 and now uses feature flags so it is possible to coordinate individual feature enablement between all the operating systems that support OpenZFS.

Re: Performance of Solaris' ZFS LZ4 Compression

#6
post #2

Please note: Oracle does not implement the same version of ZFS as everyone else does. Sun chose the OpenZFS project as the steward of ZFS, and Oracle chose to never integrate OpenZFS upstream into their version of Solaris (which it itself is also an incompatible fork of the actual Solaris steward project, Illumos née OpenSolaris). Since OpenZFS already implements LZ4 compression (and has so for quite some time), this…

While I am a fond user of an OpenZFS-derived implementation, OpenZFS postdates Sun's last gasps of existence by several years.

[1] has the OpenZFS launch announcement in September 2013, [2] dates Sun's acquisition to January 2010, [3] has the last OpenSolaris derived bits coming out of Sun in November 2010.

[1] - http://open-zfs.org/wiki/Announcement

[2] - https://www.cnet.com/news/oracle-buys-sun-becomes-hardware-c...

[3] - https://en.wikipedia.org/wiki/OpenSolaris (I'd cite osol-discuss, but that mailing list was shut down with the rest of sun.com)

Re: Performance of Solaris' ZFS LZ4 Compression

#7
It must be fine on a small test system, with CPU idling, etc.

I've worked with a few "ZFS appliances" from Sun (256-512TB range, NFS/iSCSI shares, 1-2k clients) and would never enable any advanced features on those (compression, dedup, etc). They were awfully unstable when we did that.

Granted, that was 5 years ago but I don't see any indication this technology has evolved significantly with all the drama surrounding Oracle, licensing, forks, etc. Just not worth the trouble these days, IMHO.

Re: Performance of Solaris' ZFS LZ4 Compression

#8
post #7

It must be fine on a small test system, with CPU idling, etc. I've worked with a few "ZFS appliances" from Sun (256-512TB range, NFS/iSCSI shares, 1-2k clients) and would never enable any advanced features on those (compression, dedup, etc). They were awfully unstable when we did that. Granted, that was 5 years ago but I don't see any indication this technology has evolved significantly with all the drama surrounding…

Conpression is fine. Dedup has always been the problem because it was rushed.

Re: Performance of Solaris' ZFS LZ4 Compression

#9

This really is too brief a study (although it's obviously fine for someone to write a quick blog-post about whatever they want). Most importantly, how fast is the disk? I suspect (but would benchmark if I really needed to know) that the effects of compressions will be greatly different on an older 7,200 rpm spinning disk, vs a modern SSD.

I remember SandForce-based SSDs used to do compression in the disk firmware, are there any current SSDs that do the same?

Re: Performance of Solaris' ZFS LZ4 Compression

#10
post #8
post #7

It must be fine on a small test system, with CPU idling, etc. I've worked with a few "ZFS appliances" from Sun (256-512TB range, NFS/iSCSI shares, 1-2k clients) and would never enable any advanced features on those (compression, dedup, etc). They were awfully unstable when we did that. Granted, that was 5 years ago but I don't see any indication this technology has evolved significantly with all the drama surrounding…

Conpression is fine. Dedup has always been the problem because it was rushed.

I don't think it's dedup being "rushed" that's a problem - implementing dedup is often done "offline" (like with NTFS's implementation, or btrfs), so the data gets written as unique at first, and then eventually something runs through, finds duplicates, and rewrites history to point all the duplicate instances to one copy.

But ZFS deeply hardcodes assumptions which mean you don't get to rewrite history like that, so it gets to do it synchronously (and keep all the ever-growing data structures required for this in memory for all writing).

I don't think an arbitrarily larger amount of time or money behind it would have permitted a better implementation, short of a ZFS2 and an in-place migration tool.

Post reply on HN