Very slow file backup in comparison with rsync

I tried to replace own backup daemon based on rsync with hardlinks. Generally UrBackup works well but in a few cases the performance seems to be too bad.

Server has plenty of unused power:

  • HP ProLiant 380 G9
  • 2x Xeon E5520 (28cores)
  • 128GB RAM
  • NIC 10Gbps
  • P840 controller with 12x WD Ultrastar DC HC550 18TB

Drives are attached directly to the operating system without HW RAID. I am using UrBackup with recommended BTRFS in RAID10. Some clients are backed up at speed about 1Gbps but some can’t get over 80Mbps.

The real issue is mail server (Debian, 32x4TB in ZFS RAID10, 256GB RAM, NIC 10Gbps) where are many files (mdboxes) usually with size 1-16MB. The first backup of 11TB took more than week. file Incremental backup of 183GB took 2 days. The incremental backup runs in internet mode with block differences hashed and calculating hashes in parallel. I tried to play with raw/hashed mode but there was not any difference. Interesting fact is that even in raw mode I see in client log that it is calculating hashes.

If I compare backup of the same client by rsync on much older server with ZFS it does the same job in 1,5h with average speed 280Mbps. I am not using any snapshotting, just file backup on the fly.

Is there something that can affect the performance? I tried to play with filesystem and kernel settings on both sides but without any success.

To disable hash calculation on the client uncheck Calculate file-hashes on the client: in the Internet tab.

Other than that I would recommend looking for where the bottleneck is first (it is probably an IO bottleneck so e.g. via iotop): Client, server, which disk, which thread or even which file. E.g. could be the bottleneck is adding file entries to the database. The best fix for that would be putting it on a separate NVMe.

Hi uroni,
I had the same thought today morning to disable calculating hashes on the client and it seems to be much better now, comparable with rsync.
I am almost sure it’s caused by intensive writing to urbackup client sqlite db because the whole system runs on rotating disks. Honestly till now I didn’t know that db is also on the client. I will try to move it to RAM disk for now to confirm if the cause is there.
Thanks for your kind help!

1 Like