Bacula-users

Re: [Bacula-users] Network performance

2010-08-13 17:02:17
Subject: Re: [Bacula-users] Network performance
From: Hugo Silva <hugo AT barafranca DOT com>
To: Bruno Friedmann <bruno AT ioda-net DOT ch>
Date: Fri, 13 Aug 2010 21:59:00 +0100
Hugo Silva wrote:
> Bruno Friedmann wrote:
>> On 08/10/2010 04:13 PM, Hugo Silva wrote:
>>> 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.
>>>
>> Just also another point to check with the tls/encryption used
>>
>> Did you check what are the available entropy are during your backup ...
>> cat /proc/sys/kernel/random/entropy_avail ( munin or collectd have plugin to 
>> monitor that )
>>
>> If you run on low entropy all encryption jobs are slowed down or block until 
>> entropy get higher ...
>> This can be observed on ssl serveur refusing connexion etc ...
>>
>> There's http://www.issihosts.com/haveged/ daemon which can help you to 
>> maintain a high level of that.
>>
>>   Headless and diskless servers with limited input have relied on entropy
>>   added by interrupts flagged with IRQF_SAMPLE_RANDOM. However, thisain
>>   feature will be disappearing from the Kernel soon.
>>   One solution is to run a daemon to add entropy from userspace to the
>>   pool. Example daemons can be found here:
>>   * http://www.vanheusden.com/aed/
>>   * http://www.vanheusden.com/ved/
>>   * http://egd.sourceforge.net/
>>   distributions should provide these or similar daemons as options for users 
>> who
>>   require additional entropy sources to keep /dev/random from blocking on
>>   read.
>>   The Kernel thread discussing this thread can be found here:
>>    http://lkml.org/lkml/2009/4/6/283
>>    commit 9d9b8fb0e5ebf4b0398e579f6061d4451fea3242
>>   What:   IRQF_SAMPLE_RANDOM
>>   Check:  IRQF_SAMPLE_RANDOM
>>   When:   July 2009
>>   Why:    Many of IRQF_SAMPLE_RANDOM users are technically bogus as
>>   entropy
>>   sources in the kernel's current entropy model. To resolve this, every
>>   input point to the kernel's entropy pool needs to better document the
>>   type of entropy source it actually is. This will be replaced with
>>   additional add_*_randomness functions in drivers/char/random.c
>>
>> Hope this give you also another way to resolve the case.
>>
>>
>>
> 
> 
> I'm not running Linux but your point still stands. I only tried 
> disabling PKI encryption, not TLS. If I follow you correctly, yours is 
> still a valid point. Tomorrow I will try again without TLS and share the 
> result. Thanks!
> 
> ------------------------------------------------------------------------------
> 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



No TLS, no PKI:

   Rate:                   5345.0 KB/s
   Termination:            Backup Canceled



Ok.. is anyone else using bacula on FreeBSD 8.X, backing up over the 
internet?

------------------------------------------------------------------------------
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

<Prev in Thread] Current Thread [Next in Thread>