rdiff-backup ужасно тормозит при добавлении новых файлов в резервную копию
Для резервного копирования моих данных я использую
Проблема, которую я обнаружил, заключается в том, что резервное копирование rdiff работает очень медленно при добавлении новых файлов. Чтобы продемонстрировать это, я написал сценарий bash (см. ниже).
Что делает скрипт:
- Создать 1000 пустых файлов
- Сделайте первоначальное резервное копирование
- Создайте еще 1000 пустых файлов.
- Сделайте еще одну резервную копию
Первоначальное резервное копирование занимает примерно 1 секунду, второе — 7 секунд (подробные результаты приведены ниже). Звучит не так уж много, но с моими реальными данными у меня есть несколько часов для очень небольшого количества новых файлов.
Что меня озадачивает, так это то, что взрывается только «реальное» время. rdiff-backup зависает с другими процессами?
Я запускаю пример на внутреннем SSD-накопителе ext4 SATA.
Скрипт:
#!/bin/bash
mkdir src
mkdir dest
files=1000
printf "Creating some dummy files.\n"
for (( i=1; i<=$files; i++ ))
do
touch "src/$i.txt"
done
printf "First run."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Second run, nothing changed."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Creating some more dummy files.\n"
for (( i=$files+1; i<=$files*2; i++ ))
do
touch "src/$i.txt"
done
printf "Third run, adding new files to backup."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Forth run, nothing changed."
time rdiff-backup src/ dest/
Выход:
Creating some dummy files.
First run.
real 0m1,076s
user 0m0,869s
sys 0m0,157s
Second run, nothing changed.
real 0m0,511s
user 0m0,419s
sys 0m0,037s
Creating some more dummy files.
Third run, adding new files to backup.
real 0m7,460s <--- 7 times longer!
user 0m1,374s
sys 0m0,310s
Forth run, nothing changed.
real 0m0,747s
user 0m0,645s
sys 0m0,053s