On 2/26/2020 9:33 AM, Phil Stracchino wrote:
On 2020-02-26 06:34, Andrew Watkins wrote:
Hello,

I am new to Bacula, but I am slowing getting it working. I am using
Bacula 9.4.4 on Solaris and a remote MySQL server as the back end.

For example the last tape write finished at 06:18:20 and 5hours later it
is still waiting...

On MySQL Server I can see the inserts happening...

mysql> show processlist;
+-------+------------+--------------+----------+-------------+-------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| Id    | User       | Host         | db       | Command     | Time  |
State                                                         | Info |
+-------+------------+--------------+----------+-------------+-------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| 46212 | bacula     | cronus:57598 | baculadb | Query |     0 | Sending
to client                                             | INSERT INTO File
(FileIndex,JobId,PathId,FilenameId,LStat,MD5,DeltaSeq) VALUES
(2923256,15,469886,14 |
| 48920 | slave_user | apollo:56851 | NULL     | Binlog Dump | 18402 |
Master has sent all binlog to slave; waiting for more updates | NULL |
| 51226 | root       | localhost    | NULL     | Query |     0 |
starting                                                      | show
processlist |
+-------+------------+--------------+----------+-------------+-------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)

I think I have batch inserts on:

src/config.h:#define USE_BATCH_FILE_INSERT 1

But, HAVE_MYSQL_THREAD_SAFE is not set, but not sure if this is a
problem. Solaris does not use libmysqlclient_r.a so I have to use
MYSQL_LIBS="-L/usr/mysql/5.7/lib/amd64 -lmysqlclient"

src/config.h:/* #undef HAVE_MYSQL_THREAD_SAFE */

Any ideas?

Andrew,
Assuming you've managed to jump through all the correct hoops to get a
correct 64-bit MySQL install on Solaris, this sounds like probably a
tuning problem.  MySQL's default configuration out of the box is really
not well suited to any but the smallest tasks.  What tuning have you done?
Yes. I don't think it even uses InnoDB by default.
I install Bacula without attribute spooling because I find it not to
work well on MySQL.  Yes, it can indeed take hours to insert all the
attributes after a job.  I remain unconvinced that attribute spooling
against a properly tuned MySQL DB offers any net performance benefit.

I don't know. When the DB server is remote, but on the same network as the client, attribute spooling frees up network bandwidth for the clients. Unless writing/spooling data to slow media, a client can certainly saturate a 1G network. If the configuration allows another job to begin spooling data to the SD (on the same network), then network congestion could be the problem causing the slow attribute de-spooling. I usually install a local DB server on the DIR/SD machine that serves the Bacula catalog exclusively.




_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to