zfs提供幾種壓縮算法,
lzjb, gzip, gzip-[0-9], zle, lz4
其中預設的壓縮算法為lzjb, 這個是zfs的作者jeff bonwick提供的, gzip預設的壓縮級别為6, 或者指定壓縮級别.
這裡主要測試一下壓縮時間和壓縮比.
注意, 壓縮選項預設是關閉的, 壓縮選項針對dataset來設定, 同一個pool中不同的dataset可以設定不同的壓縮算法, 也可以開關混用. 對于未使用壓縮的dataset, 如果已經存在資料的話, 開啟壓縮後, 之後的資料會壓縮, 但是之前存儲的資料不會變動.
首先測試的是lzjb.
測試gzip
測試gzip-9
測試lz4
不壓縮的情況測試 :
從測試結果來看, gzip6的壓縮比最高, 同時時間也比較折中, 推薦使用.
另外作者的算法lzjb也是被大多數人推薦使用的.
建議所有的dataset都開啟壓縮, 從測試資料來看, 顯然cpu不是問題, io是大問題. 因為未開啟壓縮的情況下, 耗時是最長的.
[參考]
1. https://pthree.org/2012/12/18/zfs-administration-part-xi-compression-and-deduplication/