>What modification did you do at your my.conf ?

key_buffer_size         = 16M
max_allowed_packet      = 1M
thread_stack            = 256K
thread_cache_size       = 8
innodb_buffer_pool_size = 512M
table_open_cache        = 10000
open-files-limit        = 50000
query_cache_limit       = 1M
query_cache_size        = 32M
query_cache_type        = 1


>The performance issues are only during inserting or even during selecting?


Yes but not so huge, selecting takes about 10-20 minutes.


>Have you got concurrent jobs?


Yes, 3 concurrent jobs but only one is inserting at a time (because of DB 
locking).


>What's your hardware configuration? I'm particularly interested in hard
>drives bus, rpm and raid settings.


- SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
- 2x WD VelociRaptor 150 GB, 10 000 rpm
- linux SW RAID 1
- 8 GB RAM



>
>
>
>
>2013/8/16 Kern Sibbald <k...@sibbald.com>
>
>> Oh, I must have missed the part about 7 million files.  In that case,
>> you will need a well tuned DB, and personally, I would use Postgres.
>> 5 hours seems to me much too long for the insert.  I am sure that
>> DB tuning will make a big difference -- maybe as much as a factor
>> of 10.
>>
>> Kern
>>
>> On 08/16/2013 03:01 PM, azurIt wrote:
>> > Hi,
>> >
>> > i'm not using unmodified MySQL configuration. My Bacula database has
>> about 21 GB and i'm mainly having problems with inserting into File table
>> after the virtual full backup of our e-mail server. Job has more then 7 000
>> 000 of files and insert takes about 5 hours. Just to explain why i'm
>> searching how to speed up things without HW upgrades.
>> >
>> > azur
>> >
>> >
>> >
>> >
>> > ______________________________________________________________
>> >> Hello,
>> >>
>> >> Thanks for your question.  I have asked my database expert who
>> >> says the same as I do but more in detail.  I will include his response
>> >> below.
>> >>
>> >> Bottom line: we have spent a long time determining the best indexes
>> >> for Bacula, which are the ones we release in the code, so we do not
>> >> recommend making any changes.  That said, we have not tested removing
>> >> the "extra" index for several years and it may be that database engines
>> >> have evolved.  The problem with changing the Bacula default index setup
>> >> is that it may perform well in the beginning, but seemingly simple
>> >> changes can have big surprises in little used queries that are
>> >> seldom used, but by removing or changing
>> >> an index you can make a difference of a factor of 1000, which means that
>> >> an unusual query that runs rather quickly can become a real bottleneck.
>> >>
>> >> So change indexes at your own risk.
>> >>
>> >> Probably you are using an untunned MySQL with the default conf (my.cnf)
>> >> file rather than one of the examples for larger databases.
>> >> By proper tunning you can significantly improve the performance.
>> >> If you have a big database say bigger
>> >> than 1 or 2 GB, our experience is that you will get *much* better
>> >> performance
>> >> with PostgreSQL, providing you tune the conf parameters correctly (out
>> >> of the
>> >> box, the Postgres conf is a real bummer).
>> >>
>> >> Best regards,
>> >> Kern
>> >>
>> >> === email from someone who knows SQL better than I do ====
>> >>
>> >> The single index on JobId is compact, the other is very large, I guess
>> the
>> >> scanning time is not exactly the same (i.e. the single index on JobId
>> can
>> >> be much faster)
>> >>
>> >> Yes, Postgresql can use composed index and may not require it, but for
>> >> MySQL, I have some doubt if it can be used all the time (maybe recent
>> >> versions). It is hard to read their execution plan to be sure how
>> >> they use it.
>> >>
>> >> This user could do some tests, it's rather simple to drop
>> >> the index and run a large restore on a big database (probably not
>> >> interesting if the File table contains less than 300,000,000 records).
>> >>
>> >> If we have a bit of time one day, it might be good to test this
>> >> modification on large and "recent" databases.
>> >>
>> >> Anyway, if this user is using MySQL AND has performance problems
>> >> during insert, he probably didn't modify the default my.cnf.
>> >>
>> >> ===================== end included email ==============================
>> >>
>> >>
>> >>
>> >> On 08/16/2013 01:30 PM, azurIt wrote:
>> >>> Hi,
>> >>>
>> >>> i'm having some MySQL performance difficulties so i started to search
>> what can i do better. My table 'File' had these indexes created:
>> >>> CREATE INDEX file_jobid_idx on File (JobId);
>> >>> CREATE INDEX file_jpf_idx on File (JobId, PathId, FilenameId);
>> >>>
>> >>> Which looks correct according to documentation:
>> >>> http://www.bacula.org/en/dev-manual/main/main/Catalog_Maintenance.html
>> >>>
>> >>> BUT! The first index apperas to be unneeded as it's part of the second
>> index. According to MySQL documentation, 'any leftmost prefix of the index
>> can be used by the optimizer to find row':
>> >>> http://dev.mysql.com/doc/refman/5.5/en/multiple-column-indexes.html
>> >>>
>> >>> I suggest to remove it.
>> >>>
>> >>> The same applies also for PostgreSQL:
>> >>>
>> http://www.postgresql.org/docs/9.2/interactive/indexes-multicolumn.html
>> >>>
>> >>> azur
>> >>>
>> >>>
>> ------------------------------------------------------------------------------
>> >>> Get 100% visibility into Java/.NET code with AppDynamics Lite!
>> >>> It's a free troubleshooting tool designed for production.
>> >>> Get down to code-level detail for bottlenecks, with <2% overhead.
>> >>> Download for free and get started troubleshooting in minutes.
>> >>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
>> >>> _______________________________________________
>> >>> Bacula-devel mailing list
>> >>> Bacula-devel@lists.sourceforge.net
>> >>> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>> >>>
>> >>
>> >
>> ------------------------------------------------------------------------------
>> > Get 100% visibility into Java/.NET code with AppDynamics Lite!
>> > It's a free troubleshooting tool designed for production.
>> > Get down to code-level detail for bottlenecks, with <2% overhead.
>> > Download for free and get started troubleshooting in minutes.
>> >
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
>> > _______________________________________________
>> > Bacula-devel mailing list
>> > Bacula-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/bacula-devel
>> >
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Get 100% visibility into Java/.NET code with AppDynamics Lite!
>> It's a free troubleshooting tool designed for production.
>> Get down to code-level detail for bottlenecks, with <2% overhead.
>> Download for free and get started troubleshooting in minutes.
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Bacula-devel mailing list
>> Bacula-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>>
>
>
>
>-- 
>
> Please consider the environment before printing this email
>

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to