백업에 새 파일을 추가할 때 rdiff-backup이 너무 느립니다.

백업에 새 파일을 추가할 때 rdiff-backup이 너무 느립니다.

데이터를 백업하기 위해 rdiff-backupUbuntu 20.10에서 (2.0.5)를 사용합니다. 데이터 양은 127GB에 불과하지만 파일 80,000개 / 폴더 17,000개(주로 소스 코드 저장소, 사진)입니다.

내가 발견한 문제는 새 파일을 추가할 때 rdiff-backup이 매우 느린 것 같다는 것입니다. 나는 그것을 보여주기 위해 bash 스크립트를 작성했습니다(아래 참조).

스크립트가 하는 일은 다음과 같습니다.

  • 1000개의 빈 파일 생성
  • 초기 백업 수행
  • 또 다른 1000개의 빈 파일 생성
  • 다른 백업 수행

초기 백업에는 약 1초가 소요되는 반면, 두 번째 백업에는 7초가 소요됩니다(자세한 결과는 아래 참조). 별로 들리지 않지만 실제 데이터를 보면 새 파일이 거의 없어 몇 시간이 걸립니다.

나를 당황하게 만드는 것은 오직 "실제" 시간만이 폭발하는 것처럼 보인다는 것입니다. rdiff-backup이 다른 프로세스에서 중단됩니까?

내부 ext4 SATA SSD에서 예제를 실행합니다.

스크립트:

#!/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

관련 정보