[syslog-ng] Performance of syslog-ng for Database access (mysql)
Yu Watanabe
yu.watanabe at jp.fujitsu.com
Tue Jan 18 07:46:07 CET 2011
Hello Patrick
Thank you for the reply.
I will be considering to use the perl DBD driver.
I am considering to write a program like,
* syslog-ng.conf
program("..../inserttodb.pl")
* in the code
use DBI;
$dbh = DBI->connect(...)
open(FILE, STDIN);
# Pick up the sql line from the stdinput
while( my $line = <FILE> ) {
$sth = $dbh->prepare( $line );
$dbh->execute( $line );
}
It would be a help if you could give me an advice with the code and configuration file.
Thanks.
Yu
Patrick H. さんは書きました:
>One thing that *might* be faster is to write a perl program to do the
>inserts. Perl's DBD::mysql driver allows you to use prepared statements
>and bind handles, which significantly speed up the database side of the
>operations. Both the command line mysql client and the libdbi mysql
>driver have to parse every single statement they come across and also
>perform permission checks on the statement, which slows things down. The
>tradeoff is that perl isnt the fastest thing in the world, so I cant say
>if perl+prepared statements is faster or slower than libdbi+parsing.
>
>-Patrick
>
>Sent: Mon Jan 17 2011 19:58:16 GMT-0700 (Mountain Standard Time)
>From: Patrick H. <syslogng at feystorm.net>
>To: Syslog-ng users' and developers' mailing list
><syslog-ng at lists.balabit.hu>
>Subject: Re: [syslog-ng] Performance of syslog-ng for Database access
>(mysql)
>> Neither. The performance on both will be about the same (immeasurable
>> difference). The libdbi mysql is probably better though as it
>> gracefully handles disconnects and is simpler to configure (than an
>> external mysql process).
>>
>> -Patrick
>>
>> Sent: Mon Jan 17 2011 19:11:09 GMT-0700 (Mountain Standard Time)
>> From: Yu Watanabe <yu.watanabe at jp.fujitsu.com>
>> To: syslog-ng at lists.balabit.hu
>> Subject: [syslog-ng] Performance of syslog-ng for Database access (mysql)
>>> Hello all.
>>>
>>> I would like to ask question for the performance of syslog-ng when it is accessing to mysql database.
>>>
>>> I am using syslog-ng 3.0.9 and thinking of using either one of the method below for the database connection.
>>>
>>> 1. Using the program driver and fork the "mysql command" to execute the sql.
>>> 2. Use the sql driver to access to the table
>>>
>>> I was wondering which is more efficient for syslog-ng and the server itself (i.e. CPU , memory )
>>>
>>> Any advice would be helpful!
>>>
>>> Thanks,
>>> Yu Watanabe
>>>
>>>
>>> ______________________________________________________________________________
>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>>> FAQ: http://www.campin.net/syslog-ng/faq.html
>>>
>>>
>> ------------------------------------------------------------------------
>>
>> ______________________________________________________________________________
>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>> FAQ: http://www.campin.net/syslog-ng/faq.html
>>
>>
>______________________________________________________________________
>
>______________________________________________________________________________
>Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>FAQ: http://www.campin.net/syslog-ng/faq.html
>
More information about the syslog-ng
mailing list