Tag Archives: Compression

Nutanix Compression Results

Nutanix has a feature called Post Process Compression.  Itís gone through a couple marketing name changes, and it looks like the latest name for it is MapReduce Compression.  Basically what this means is that when data is written it can be compressed after a period of time (0 to X minutes later).  When the data is accessed again it is decompressed, then recompressed after the specified time period.  The compression is designed to perform the task with unused cycles, meaning that it will not compete with the production workloads. 

There are not really any other end user configurable options for the compression other than on/off and delay.

If you have a file that is constantly accessed, you will want to set a delay of at least a few minutes so it is not constantly being compressed / decompressed every time someone opens it.

Unfortunately Nutanix does not currently have an estimation tool to determine what kind of savings you may get by enabling compression or how long it will take to compress so I decided to test this feature for myself on a test cluster as I am looking at enabling it in production. 

Compression is enabled at the container level.  You can either use the ncli command or you can enable it in the PRISM UI:

container edit id=[container id] enable-compression=[true] compression-delay=[# minutes]

Click on Storage, Diagram, Update, Advanced Settings.


As you can see here I started out with 3.27 TB of data.  About 1TB are VMs and 2TB are documents, ISOs, photos and videos. 


It took a couple days for it to stop churning.  It finally ended up with 12% compression.


Below is the performance chart for the CVMs in this test cluster.  All VMs were powered on (although many were doing nothing).  You can see that 25% utilization is the normal idle and that most of the compression was performed in the first few hours.





Overall I see no downside to enabling the compression feature.  While it didnít save me an amazing 50%, from what I can tell there is no noticeable performance impact, so why not save all the space that I can?  With the changes coming to the Nutanix software licensing this is now a standard feature, which makes me happy as it was previously a separately licensed feature.