GZIP failed on my Napp-IT/Solaris with "gzip: stdout: Permission denied" after it wrote about 3GB of the gz
- GZIP and BZIP2 consumed 4GHZ consistently while compressing the zfs stream, this was about 50% of CPU available to this 4cPU VM
Switcehd to BZIP2 and already passed the 3GB line... it's taking a very long time to do it... I think it's due to the ZFS FS I wanted to test on... it's my smallest, but it's also my wife's data which means likely 95% or more are pictures or docs... TONS of tiny-files. BZip2 took approx 7 minutes and it's now done.
According to ZFS list of snapshots this snapshot is: 3.3GB
BZIP2 Size = 3.29GB
Compress Contents = 3.58GB
BZIP2 compressed file contains the ZFS Send file.
This is NOT a compressed pool by the way.
So basically BZIP did 0 for my wifes file contents, and still took around 10M to accomplish it
If I could go from 3.3GB to 2.5GB that'd be worth it, these are dedicated storage boxes so I can afford the CPU utilization HOWEVER this makes me re-think very low CPU frequency and core count for
any ZFS system that will do compression for snaps on send/recv. Alternatively you could easily mitigate the CPU utilization by streaming the ZFS send to another ZFS implementation in a VM on a host with a lot of extra CPU cycles, and then just gzip it there on the fly and move it over to your backup from there... extra network overhead but that's easily mitigated with a direct connect, or high performance network. Obviously this won't work for everyone or anyone with TBs of snaps they send/receive but for a home setup it may let you keep a super low power storage system and then use free resources on your VM host to better compress your data if it matters.
I'm going to compress and send some other of the zfs fs on this and see if I can get any better compression with different file types, and re-run this specific one with --best to compare. Since it didn't even shrink 5% i'm guessing best won't yield anything worthwhile, but worth a test