Re: Bacula CE 15.0.2 – CopyJobs capped at ~1 Gbps on 10Gbps links

Arno Lehmann via Bacula-users <[email protected]> Sat, 17 Jan 2026 11:29:53 +0100
Newsgroups gmane.comp.bacula.user
Organization IT-Service Arno Lehmann
Message-ID <[email protected]>
Hi Leandro,

Am 16.01.2026 um 17:03 schrieb Leandro Saldivar via Bacula-users:
> Hi all,
> 
> I’m running Bacula Community Edition 15.0.2 and I’m trying to improve 
> Copy and Restore job throughput between two on-prem Storage Daemons 
> (Hetzner bare metal servers) connected via 10 Gbps links.
> 
> I’ve been investigating this for a while but haven’t been able to 
> pinpoint what’s limiting throughput, so I’m sharing the data here to see 
> if anyone has run into something similar.

<snip the details; we'll probably be coming back to them...>

First, I would not rule out network equipment or intentional traffic 
management. Providers (both hosting, DC and network) are not always as 
transparent as you like.

Thus I would propose a systematic set of tests.

1. stop the SDs on both sides, and do iperf tests with the Bacula SD 
ports. I would not expect throughput limits here, but we need knowledge, 
not expectations :-)

2. Set up a backup job that creates a few GBytes of zeroes out of hot 
air, and storage devices on both sides that write to /dev/null. Create a 
pool that does not catalogue files. Disable TLS all over the place and 
do not create signatures. Back up first to local Null device, then to 
remote one.

3. Do the same tests with signatures.

4. Do the same tests with TLS enabled.

Further steps will depend on the results achieved.

Suggestions/Examples:

Job {
   Name = "fastzeroes"
   Type = "Backup"
   Fileset = "fastzeroes"
...
}

Fileset {
   Name = "fastzeroes"
   Include {
    Options {
     # to be adapted
     # Signature = Sha1
    }
     # one line below. Mail line break!
    Plugin = 
"bpipe:/ZEROES-f:/opt/bacula/scripts/fastzeroes:/opt/bacula/scripts/piperestore"
   }
}
[root@bsys-demo ~]# cat /opt/bacula/scripts/fastzeroes
#!/bin/bash
dd if=/dev/zero bs=4k count=256k status=none

Pool {
   Name = "Null"
   CatalogFiles = yes
   PoolType = "Backup"
   Storage = "gnom-null"
}

Device {
     Name = NullStorageDev
     Media Type = NullFifoDoNotUse
     Device Type = Fifo
     Archive Device = /dev/null
     LabelMedia = no
     Random Access = no
     AutomaticMount = no
     RemovableMedia = no
     MaximumOpenWait = 60
     AlwaysOpen = no
}

I currently don't have any examples for non-TLS communication available, 
but you'll at least have to add 'TLS Enable = No' to all involved 
daemons. I'd also use tcpdump to verify it's all clear text :-)

Have fun digging!

Arno

-- 
Arno Lehmann

IT-Service Lehmann
Sandstr. 6, 49080 Osnabrück



_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users