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: <?php require_once './includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 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', '127.0.0.1', UNIX_TIMESTAMP(), 'http://localhost/~killes/index.php')"); } 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. Cheers, Gerhard