Некоторое время назад я озадачился вопросом, есть ли какая-то польза от имеющейся в ZFS поддержки сжатия или нет.
Для ответа на этот вопрос я провёл маленькое исследование, которое конечно не претендует на истину в последней инстанции, но тем не менее позволяет сделать некоторые выводы.
В качестве тестовой системы подвернулся мой старенький ноутбук с не самым быстрым процессором Pentium Mobile 1.6GHz, 2Gb оперативной памяти, 2.5" IDE диском на 320Gb, под управлением FreeBSD 9, а как тестовую нагрузку я использовал разархивирование дерева портов FreeBSD, являющее собой большое количество мелкий текстовых файлов.
Собственно результаты тестирования сведены в таблицу:
Компрессия |
Время, с |
Размер каталога, кб |
Степень сжатия |
Выключена |
40,73 |
368420 |
1 |
lzjb |
37,76 |
210962 |
1,75 |
gzip-1 |
50,41 |
185797 |
1,98 |
gzip |
52,45 |
167212 |
2,20 |
gzip-9 |
59,79 |
170976 |
2,15 |
Как видно из таблицы, использование сжатия по умолчанию (lzjb) даёт:
- степень сжатия каталога 1,75, что только в 1,2 раза хуже чем gzip-9.
- время работы не только в 1,6 раза лучше gzip-9, но и даже меньше времени работы вообще без сжатия.
Как результат для некритичных сжимаемых данных, таких как дерево портов, я бы рекомендовал использование lzjb сжатия.