Как лучше архивировать бэкап MySql ?

Приведу ниже список архиваторов, которые протестировал на бекапах MySQL.

Кому лень читать Абсолютным победителем среди популярных архиваторов стал pigz ( параллельная реализация gzip).

gzip сейчас используется на большинстве продакшенах, замена его на pigz должна быть легкой. Конечно, дает хорошее увеличение производительности бекапирования, которое может дать pigz.

Окружение тестирования:

  1. база данных на 5.4Гб
  2. из базы был получен mysqldump 2.9 Гб
  3. сервер AWS t1.xlarge с дополнительным местом для бэкапов(EBS).

Результаты

Выполненные тесты показывают сравнение затраченного времени и процент сжатия:

Утилита Время запаковки (сек) Размер
lzo (-3) 21 1.5GB (48%)
pigz (-1) 43 995MB (64%)
pigz (-3) 56 967MB (67%)
gzip (-1) 81 995MB (64%)
fastlz 92 1.3GB (55%)
pigz [-6] 105 902MB (69%)
gzip (-3) 106 967MB (67%)
compress 145 1.1GB (62%)
pigz (-9) 202 893MB (70%)
gzip [-6] 232 902MB (69%)
zip 234 902MB (69%)
gzip (-9) 405 893MB (70%)
bzip2 540 757MB (74%)
rzip 11 minutes 756MB (74%)
lzo (-9) 20 minutes 1.2GB (58%)
7z 33 minutes 669MB (77%)
lzip 47 minutes 669MB (77%)
lzma 58 minutes 639MB (78%)
xz 59 minutes 643MB (78%)

Мысли и выводы:

  1. Процент сжатия и время зависит от типа данных хранящихся в MySql базе данных.
  2. Pigz за счет многопоточности был в два раза быстрее gzip
  3. В тесте использовался большой файл, думаю есть некоторые утилиты, которые могут работать быстрее с маленькими файлами.

Дайте знать если есть еще интересные архиваторы для тестов

comments powered by Disqus