Назад | Перейти на главную страницу

Какова асимптотическая производительность par2?

У меня есть машина с слабым процессором, только 1 ГБ оперативной памяти и 10 ТБ дискового пространства. Я хотел бы сделать очень надежную резервную копию того, что хранится на этой машине.

В рамках этого я хотел бы создать файлы par2 для своих архивов резервных копий, прежде чем отправлять их в amazon glacier.

В качестве предварительного теста я запустил par2 для файла 40G. Он использовал только 1% оперативной памяти, и это заняло несколько часов.

Итак, мой вопрос: что произойдет, когда я запускаю par2 для файла размером 900 ГБ? Ограничено ли использование памяти par2 или оно линейно или хуже по размеру файла? Это загрузка процессора линейная или хуже?

Я понимаю, что могу просто попробовать, но так как в лучшем случае это займет несколько дней, я подумал, что спрошу, глупо ли то, что я делаю, перед тем, как попробовать.

Существует несколько реализаций par2, различающихся по производительности.

я использовал ParPar, который является реализацией, разработанной для использования с Node.JS, но предоставляет автономный инструмент командной строки (parpar.js). Они говорят, что он находится в активной разработке, поэтому сейчас он может быть нестабильным.

Он оказался как минимум на порядок быстрее par2cmdline. 230 ГБ примерно за 2 часа на ноутбуке i7 с использованием 32768 блоков.

Что касается использования памяти, вы можете указать это в командной строке. Больше будет быстрее (8G в моем примере), но он будет работать с 64M.

Это командная строка, которую я использовал для рекурсивного создания 2% данных восстановления для текущего каталога:

 ~/code/ParPar/bin/parpar.js -b 32768 -t4 -m8192M --min-chunk-size 8M -r2% -R -o pardata -- .