
gzip? bzip? XZ!
Кратко о важном.
Все админы часто пользуются архиваторами: zip, bzip, gzip, rar и прочее. Как то не принято в среде линукса использовать rar, чаще — gzip/bzip. Оба сжимают быстро и со средней эффективностью.
Но для большей эффективно, я рекомендую xz.
Для сжатия в cli, обычно используются утилиты gzip, bzip2 и xz.
Для более быстрого сжатия, я использую их параллельные аналоги: pxz, pigz, pbzip2.
Тест:
— имеется файл, лог работы одной утилиты размером 6.8Gb (7282321541b). Сожмем тремя архиваторами, с дефолтными параметрами, и оценим время сжатия и качество сжатия.
Для наглядности исходный файл клонирован два раза.
[sam@centos-1 tmp]$ ls -l total 21334932 -rw-rw-r-- 1 sam sam 7282321541 Apr 2 23:59 1.log -rw-r--r-- 1 sam sam 7282321541 Apr 9 08:41 2.log -rw-r--r-- 1 sam sam 7282321541 Apr 9 09:22 3.log [sam@centos-1 tmp]$ time pigz 1.log real 0m17.957s user 5m59.215s sys 0m6.877s [sam@centos-1 tmp]$ time pbzip2 2.log real 1m36.461s user 35m52.041s sys 0m49.704s [sam@centos-1 tmp]$ [sam@centos-1 tmp]$ time pxz 3.log real 5m27.033s user 115m29.228s sys 0m36.940s [sam@centos-1 tmp]$ ls -l total 1847080 -rw-rw-r-- 1 sam sam 911627019 Apr 2 23:59 1.log.gz -rw-r--r-- 1 sam sam 543825204 Apr 9 08:41 2.log.bz2 -rw-r--r-- 1 sam sam 435952812 Apr 9 09:22 3.log.xz
Результаты (размер файлов в % от первоначального):
gz = 12,51 %
bz2 = 7.46 %
xz = 5.98 %
XZ сжимал дольше всех, и сжал лучше всех. GZIP работает хуже всего, но его задача сжимать как можно быстрее, не зря же он используется в работе веб-серверов.