Advertisement

Wednesday, October 7, 2015

ZFS - Compression

 

ZFS compression is one of a real great things I like about ZFS, (apart from it's powerful cloning and snapshot abilities).

ZFS compresses data on the fly.

So what does that means to you?  Well a lot of your data can go over ZFS. Specially if you are on Exadata, I can think of below

  1. Exa Backup  (Exadata File System Backup)
  2. Oracle Backup
  3. Exa Watcher
  4. Golden Gate

I pick the first one from the list, Exa Backup for my test.  I backed up 2 compute nodes of a quarter rack and noted few metrics. 
I'll derive conclusion next, after you have a look at the statistics. 


Compression
Avg CPU
Raw Size
Compressed Size
Compression Ratio
Duration
Avg Throughput (GB / min)
LZJB
12%
180GB
81 GB
2.22
16 min
11.25
GZIP Fast
25%
180GB
68GB
2.65
18 min

10
GZIP Default
50%
180GB
66 GB
2.73
24 min
7.5




ZFS offers one more level of compression but I skipped it. 
If you notice carefully the gzip fast offers good level of compression with a throughput of 10GB/minute. (Note the test was on infiniband so the max therotical throughput level is 40Gb/sec )

Well now you might be tricked into using Gzip fast, but note I tested this without any load on the system, this was the only load. 

The take away is to monitor the load on the ZFS controller cpu utilization.
(my config is 7330, clustered Active-Passive configuration)

So gzip fast is good, as long as you have the controller sitting idle most of the times, else the other mounts will become virtually unusable, (believe me!!! )

the throughput is great, so if you can plan smartly, you can plan 20 minutes when the ZFS is least utilized. Try not to do parallel writing with compression, this increases the CPU overhead. 

I will be posting ZFS vs rman compression very soon, till then below is the screenshot of cpu utilization from ZFS controller. 
There are 3 periods -
And I leave it to you the intelligent to figure out which peak is for which compression level. 





1 comment:
Write comments