[development] Re: InnoDB and accesslog/ watchdog

Gerhard Killesreiter gerhard at killesreiter.de
Tue Aug 15 17:44:16 UTC 2006

Ken Rickard wrote:
>> It would also be helpful if anybody could compare the use of InnoDB vs
>> my patch.
> Showing my ignorance.  Is there a posted standard for Drupal performance
> testing?  The last time I did some tests, I just used apache benchmark
> (copying something I had seen Killes do previously).

I think everybody uses apache benchmark. In this special case the 
question probably should be resolved by a simple php script that does 
inserts into a table and you benchmark it using ab.

something like:

require_once './includes/bootstrap.inc';

for ($i = 0; $i < 1000; $i++) {
db_query("INSERT INTO watchdog (uid, type, message, severity, link, 
hostname, timestamp, referer)  values (1, 'test', '<em>benchmarking</em> 
INSERT INTO watchdog', '1', 'nothing', '', UNIX_TIMESTAMP(), 

This test should be done where:

1) the table is a full myISAM table (several 100k of lines at least)
on drupal.org watchdog has 200k (over one week) lines, accesslog has 
900k (over 48 hours). We would probably like to keep access logs for 
longer, but have limited it to 48 hours because we fear that we'd get 
bogged down if we have a larger table. So about 3.5 Mio entries would be 
cool, that would be one week of logs.

2) the table is a rather empty myISAM table. This would simulate the 
merge patch.

3) a full InnoDB table, comparable to 1). This would simulate your setup.

It would also be interesting to observe's mysql memory requirements 
during the test as well as other server parameters.

> Simpletest and the wget method (http://drupal.org/node/11521) don't seem to
> cover overall performance.

For this special case a difference in overall Drupal performance will be 
difficult to establish. There are only a few inserts per page load and I 
don't expect the change to be huge.


More information about the development mailing list