[Box Backup] performance on OpenBSD

Felix Kronlage boxbackup@fluffy.co.uk
Sun, 18 Nov 2007 07:50:00 +0100


I've looked at and tried out boxbackup last week on OpenBSD and saw some
rather strange results concerning the speed of file transfers. Just to
make sure, I don't overlook anything in the config (even though, the
config is dead simple), I thought I'd ask here.
First I've tried with Version 0.10 on OpenBSD 4.0. Client and Server
were both i386. Server running with SCSI Raid, Client was a laptop.
The directory to backup was /usr. After I've tested with /usr, I tried
/usr/src to have some different file sizes to see wether that makes a
big difference. The last run was done on a home directory.
What I see is, that right after we start the snapshot-mode backup for
the first time, transfer rate goes towards ~ 8Mbit/s. After a bit more,
we peek out at 12Mbit/s. And roughly after having pushed ~ 240 - 280 MB
over the wire the transfer rate breaks in and goes below 1Mbit/s and stayed
there. The network cards hardly have any interrupts at this point (~ 20 - 200, chipset ranging from msk(4), em(4) and fxp(4) tested). Both
machines run completly idle, bbackupd and bbstored not even wanting to have
cpu time. Exact same behavior we see on incremental backup runs. No CPU
usage, no I/O and no network activiy (where no == very little). So the
performance is not due to a bottleneck. Only time I see the cpu beeing
hooged, is at the beginning of the very first backup during the first 240
- 280 MB of data.

To rule out any weird bugs that are maybe triggered on 4.0, I've tried
then 4.2 with latest of boxbackup from svn's trunk. Same thing. The
configuration is completly kept the way the config mechanisms of boxbackup
generate them, except for the housekeeping interval to be raised (so
that it comes not in the middle of backing up while testing).
To finally rule out any network brokeness (or other ressource issues), I've
transfered the same data using rsync (over ssh), fast as excepted. 
Considering that boxbackup does some crypto (encrypting/decrypting
files), I'd expect it to be slower than rsync, but if the slowness would
be due to crypto, I'd expect to see some cpu usage.

Seeing the constant pattern that it works fine until ~ 240 - 280 MB and
then dropping, adds a certain 'this sounds like a bug in my configuration
and or boxbackup' factor to this. So is this speed to be expected? Has
anyone else on OpenBSD some numbers for me?