Bacula-users

[Bacula-users] How does Bacula determine network transfer speed?

2010-04-22 10:34:04
Subject: [Bacula-users] How does Bacula determine network transfer speed?
From: Glen Barber <glen.j.barber AT gmail DOT com>
To: bacula-users <bacula-users AT lists.sourceforge DOT net>
Date: Thu, 22 Apr 2010 10:27:30 -0400
Howdy,

I'm seeing what I believe to be unusual behavior with regards to transfer
speeds.  Ultimately, I'd like to find out if either bacula-fd or
bacula-dir determine the maximum possible transfer speed during a backup,
and if that speed is locked during the process.

During the past few days, I've been seeing anywhere between 0.5 and 3.5%
packet loss during large-packet pings (1450 byte packets), though that
isn't the reason for the post.  It appears the transfer rate of the
backup, in full, is determined in the beginning phases of the
director / file-daemon negotiation, though I have not found any
documentation to verify this.  Unfortunately, the Director Services Daemon
documentation in the developer's manual is "to be written." [1]

All machines are running 5.0.0.

On Tuesday, the backups were running unusually far behind schedule.  The
particular job that was running was transferring at approximately 2Mb/s.
I was able to do some basic testing to see what other transfers would be
affected, and found that I could get ~9.6Mb/s between the backup server
and the same client.  At 9:00AM, I cancelled the job to let some smaller
jobs complete, and rescheduled the job afterwards.  The rescheduled job
ran significantly faster than previously, within a matter of two hours
between the jobs.

The transfer information from the cancelled job follows:
        Elapsed time:           1 hour 14 mins 8 secs
        FD Bytes Written:       1,035,309,129 (1.035 GB)
        Rate:                   232.8 KB/s

The transfer information from the rescheduled job, which was later
cancelled for further testing, follows:
        Elapsed time:           13 mins 26 secs
        FD Bytes Written:       1,260,431,584 (1.260 GB)
        Rate:                   1563.8 KB/s

Outside of cancelling the job, I made no other changes between these jobs,
and I cannot explain the large difference in rate.  As I am unable to find
documentation on how the negiotion takes place, my theory is that the
slower running jobs are initiated during a time in which the network is
experiencing packet loss, and never recovers from that state.

Further data I have seen seems to suggest this is the case.  The following
log snippets are from the same host, on two separate days:
        Elapsed time:           12 hours 54 mins 16 secs
        FD Bytes Written:       7,364,615,843 (7.364 GB)
        Rate:                   158.5 KB/s

        Elapsed time:           10 hours 10 mins 4 secs
        SD Bytes Written:       51,384,264,311 (51.38 GB)

Interestingly, the latter log snippet maintained a transfer rate of 12Mb/s
throughout the entire 10 hour period, according to my firewall network
graph, stopping only to despool to tape.

Does bacula lock in to a particular transfer rate until the backup reaches
completion?

Thanks, and regards.

[1] - 
http://www.bacula.org/5.0.x-manuals/en/developers/developers/Director_Services_Daemon.html

-- 
Glen Barber

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