rdiff-backup 在向备份中添加新文件时速度非常慢

rdiff-backup 在向备份中添加新文件时速度非常慢

为了备份我的数据,我rdiff-backup在 Ubuntu 20.10 上使用 (2.0.5)。数据量只有 127 GB,但有 80k 个文件/17k 个文件夹(主要是源代码存储库、照片)。

我发现的问题是,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

相关内容