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
|