Bacula-users

[Bacula-users] Network performance

2010-08-10 10:16:46
Subject: [Bacula-users] Network performance
From: Hugo Silva <hugo AT barafranca DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Tue, 10 Aug 2010 15:13:07 +0100
Hello,

I'm backing up a server in Germany from a director in The Netherlands. 
Using bacula, I can't seem to get past ~3000KB/s.

Here's an iperf result:
[  3] local [fd-addr] port 16625 connected with [dir-addr] port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec    110 MBytes  91.2 Mbits/sec


Googling doesn't seem to bring much more than setting "Maximum Network 
Buffer Size" on the SD and FD.

I did (to 1048576 - same value I ran the iperf tests with), but there 
were no changes; anyway, even with my system default socket buffer sizes 
(256K) I manage to see ~90mbits/s.


This leads me to think that perhaps the FD just doesn't have that much 
data to send continuously to the SD, hence the low throughput. In theory 
it could also be the storage that's too slow, but a crude test seems to 
rule this out:

# dd if=/dev/zero of=/bacula/x bs=32k
^C24030+0 records in
24029+0 records out
787382272 bytes transferred in 7.044653 secs (111770197 bytes/sec)

Neither server seems to be CPU starved, either (I'm transfering 
encrypted backups on a TLS connection using compression):

director:
CPU:  3.4% user,  0.0% nice,  1.2% system,  0.0% interrupt, 95.3% idle
Mem: 58M Active, 425M Inact, 405M Wired, 176K Cache, 316M Buf, 2084M Free
Swap: 2048M Total, 2048M Free

   PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
    11 root     171 ki31     0K    64K CPU1    1 336.1H 100.00% {idle: cpu1}
    11 root     171 ki31     0K    64K CPU2    2 335.9H 100.00% {idle: 
emcpu2}
    11 root     171 ki31     0K    64K CPU0    0 335.5H 100.00% {idle: cpu0}
    11 root     171 ki31     0K    64K RUN     3 336.1H 98.49% {idle: cpu3}
46442 bacula    50    0 26796K  7268K select  0   0:01  7.08% {bacula-sd}
     0 root     -68    0     0K   656K -       2   0:36  1.17% {em0 taskq}

FD:
CPU: 10.9% user,  0.0% nice,  0.6% system,  0.3% interrupt, 88.2% idle
Mem: 1734M Active, 1807M Inact, 2965M Wired, 1168K Cache, 827M Buf, 
1393M Free
Swap: 16G Total, 868K Used, 16G Free

   PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
    11 root     171 ki31     0K   128K CPU7    7 5102.6 100.00% {idle: cpu7}
    11 root     171 ki31     0K   128K CPU6    6 5098.5 100.00% {idle: cpu6}
    11 root     171 ki31     0K   128K CPU3    3 5097.5 100.00% {idle: cpu3}
    11 root     171 ki31     0K   128K RUN     0 5076.2 95.07% {idle: cpu0}
    11 root     171 ki31     0K   128K CPU2    2 5076.6 92.48% {idle: cpu2}
    11 root     171 ki31     0K   128K RUN     5 5100.7 87.99% {idle: cpu5}
    11 root     171 ki31     0K   128K CPU4    4 5089.2 87.50% {idle: cpu4}
    11 root     171 ki31     0K   128K CPU1    1 5088.6 85.35% {idle: cpu1}
40102 root     108    0 35016K  9584K CPU5    5   0:51 56.59% {bacula-fd}
    12 root     -28    -     0K   352K WAIT    0  40:34  3.56% {swi5: +}




So my question is, how do I go about working around this? Perhaps an 
option to tell the FD to buffer stuff in memory and then send it in 
bursts is available?

Please advise.

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users