Ускоряем создание бекапов Используем мультипроцессорность в 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 мегабайта.
Собственно все, надеюсь, что материал кому-нибудь пригодится.

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">