Системное администрирование

Имеет смысл отказаться от xz в пользу gz при сжатии с помощью tar? Что-то очень тормозит xz. Поделитесь опытом.

Архив порядка нескольких гигов, делается раз в неделю или в месяц, дамп мускуля поступает через конвейер на вход xz, и вся эта команда делается около часа, если не больше. Какой будет выигрыш по времени и проигрыш по занимаемому дисковому пространству, приблизительно? Не хочется вставлять зонды в продакшен и играться на нем. Может у кого-то была похожая проблема?
Ну вот смотри. У меня слабенький Intel Celeron J4005 2GHz (2 ядра), SSD fs.
XZ и GZip - однопоточные.

Если берём тяжёлый /boot/initrd 57 MBytes, то оба компрессора (XZ и GZip) сжимают плохо - порядка 99-96%. Но GZip работает по времени очень быстро (со скоростью tar-а, порядка 3 секунд), а XZ - очень медленно (от 33 до 40 сек).

Если брать хорошо сжимаемый каталог HTML+jpegs, то время сжатия XZ заметно растёт с уровнем компрессии: 23/33/41/52/63/71/75/79/83, а степень сжатия заметно улучшается: 32%/31%/30%/30%/28%/28%/26%/24%/23%. GZip сжимает чуточку хуже, порядка 38...34%, но время сжатия намного лучше - 3...8 секунд.

Если для тебя выигрыш 34% > 23 % существенен, то бери XZ. Но время работы его в десятки раз дольше. То есть, XZ имеет смысл лишь для хорошо сжимаемых (текстовых) данных.
Тимур Азизов
Тимур Азизов
246
Лучший ответ
Андрей Плохотнюк Стало гораздо быстрей. Спасибо!
tar не сжимает, он создаёт единый файл для последующего сжатия (сериализует файловую систему).
Если действительно интересно, надо экспериментировать.
Создать tar и сжать обоими алгоритмами, сравнив время и так несколько раз. Что-то мне подсказывает, что разница будет на уровне статистической погрешности. Для смешанных данных результат не очевиден. Охота этим заниматься?
Есть смысл также включить в эксперимент p7zip for Linux. Но там, за тоже время получишь меньше файл. Хотя, выигрыш будет

.xz (LZMA2) - самый продвинутый (по скорости и степени сжатия) алгоритм. От добра добра не ищут
Если время выполнения команды является критичным, то конечно лучше gzip, чем xz.
Как вариант, откажись от tar, сжимай gzip -ом напрямую.
Roman Usubyan
Roman Usubyan
26 548