Ускоряем создание бекапов Используем мультипроцессорность в gzip

Всем добра.
Есть у меня в арсенале одна машинка под управление FreeBSD, которая делает ежедневные бекапы самописными скриптами samba shares. размер данных растет, время бекапа увеличивается, в итоге получил ситуацию при которой бекап не успел сделаться в нерабочее время. Небольшой анализ выявил, что штатный gzip работает на одном ядре.
Беглое чтение интернет-поисковиков подсказали, что есть портированные архиваторы, которые умеет работать на нескольких процессорах (ядрах).
Свой выбор я остановил на pigz.

  1. Обновляем порты:
  2. Устанавливаем pizg

Тестируем скорость:

  • Со штатным gzip
  • С pizg

Видим, что с использованием pigz выросла загрузка процессора с 81,9% до 315,1 и время работы команды уменьшилось.
По итогу первого дня использования, я получил сокращение более чем в 2 раза времени работы скрипта архивации.
Но немного увеличиваются получаемые архивы, для меня это не критично.

Видно, что архив полученный с помощью pigz имеет объем больше.
На практике получил такую картину:

Т.е. архив стал весить на 2Gb больше, но был сделан на 4:31 час раньше.
У pgzip есть опция сжатия от 0 до 9, на практике большого выигрыша я не получил:

Архив с опцией -9 стал весить меньше всего на 2 мегабайта.
Собственно все, надеюсь, что материал кому-нибудь пригодится.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *