From: Mantis B. T. <no...@bu...> - 2013-07-17 13:07:22
|
The following issue has been CONFIRMED. ====================================================================== http://bugs.bacula.org/view.php?id=2015 ====================================================================== Reported By: paulbong Assigned To: ====================================================================== Project: bacula Issue ID: 2015 Category: Director Reproducibility: always Severity: major Priority: normal Status: confirmed ====================================================================== Date Submitted: 2013-07-17 00:10 BST Last Modified: 2013-07-17 14:07 BST ====================================================================== Summary: performance of the Director declines as number of tapes increases Description: # rpm -q -a | grep bacula bacula-storage-5.2.13-9.fc17.x86_64 bacula-common-5.2.13-9.fc17.x86_64 bacula-libs-sql-5.2.13-9.fc17.x86_64 bacula-client-5.2.13-9.fc17.x86_64 bacula-console-5.2.13-9.fc17.x86_64 bacula-libs-5.2.13-9.fc17.x86_64 bacula-director-5.2.13-9.fc17.x86_64 installed via yum -- did not make from scatch I use files instead of tapes as the storage devices. As the number of tape files increases, the connections to the director get slower and slower. I notice the effect start around 20,000 tape files. Any connection to the director via bconsole and any command that queries the might show the tape count or next tape are effected (such as 'status' on the director). Steps to Reproduce: Install bacula and configure to use 'Storage = File' and 'UseVolumeOnce = yes' then repeatedly backup a small Fileset until you reach 20,000+ files. Monitor with trying to connect with bconsole using a command like: time echo "status director" | bconsole (It takes this command "real 1m17.071s" to complete on my machine -- at install time this command finished in less than a second) I have seen this happen since early 5.x versions. I don't know if this manifests itself if you just use a loop to create 20,000+ tape files. ====================================================================== ---------------------------------------------------------------------- (0006728) kern (administrator) - 2013-07-17 14:07 http://bugs.bacula.org/view.php?id=2015#c6728 ---------------------------------------------------------------------- Bacula was designed to handle a few thousand Volumes (either tape or disk). Once you exceed this number you will surely start running into performance problems. This performance problem will manifest itself any time Bacula needs to access the Media table, which is the case of a "status dir" because it is trying to tell you what the next mounted volume will be. At some point, these algorithms must be rewritten as users like yourself are starting to increase their use of Volumes. However, at the moment, there are other more serious bottlenecks that we are working on, so this one is not at the top of our list. I have two suggestions: 1. You implement the algorithm improvements -- we will be happy to work with you to identify where the problem is an suggest possible ways of resolving it. 2. Bacula was designed to put multiple jobs on a single Volume, so you are forcing it to work outside its design limits. There is essentially no or very little performance penalty for putting multiple jobs on a single volume, and in your case, it could significantly improve performance. Thus the quickest solution would be to reduce your total number of volumes by 10-100 by putting more jobs on each Volume. Using Migration jobs, you can move jobs off of existing volumes onto a new set that permits having more jobs per volume. Issue History Date Modified Username Field Change ====================================================================== 2013-07-17 00:10 paulbong New Issue 2013-07-17 14:07 kern Note Added: 0006728 2013-07-17 14:07 kern Status new => confirmed ====================================================================== |