最近几天我一直在玩 obnam,虽然它看起来很有前途,而且似乎基本上提供了我在备份工具中想要的一切,但我对它的性能非常失望。事实上,它太慢了,我怀疑 obnam 在这里甚至没有错,而是我环境中的某些东西导致了它。
所以我主要想知道,是否还有其他人在使用 obnam 或者对它的内部结构有足够的了解来识别问题。
据我目前所知,obnam 似乎为每个备份的文件分叉了一个单独的 gpg 进程。从 htop、strace 和 iostat 来看,初始备份的速度主要受不断分叉的限制,而 CPU 和驱动器(不涉及网络)大多处于空闲状态,低于 20% 的利用率。
我的备份总计约 500.000 个文件,总共有 170 GiB 的数据。因此,对于每次备份运行,gpg 会分叉 500.000 次。我什至不感到惊讶的是,初始运行几乎需要一整天的时间,而在大多数文件未更改的情况下,另一次运行需要三个多小时。但这真的是 obnam 用户应该期望的性能吗?为了比较:rsnapshot(相同数据、相同机器、相同驱动器)的增量运行大约需要四分钟。当然,没有涉及加密,但这不应该那么重要。
所以,问清楚一点:其他人的机器是否也不能每秒运行 gpg(加密一小块数据)超过 50 次,最终使 obnam 成为一个几乎无法使用的缓慢工具?还是只有我一个人?
(FWIW,我的机器是带有 8G RAM 和 SSD 驱动器的 Core i5-2500,运行 Gentoo。备份到 HDD,但我无法观察到备份到 SSD 有什么区别,因为它不是 I/O -边界。)