There was several changes in InnoDB to fix scalabilty problems, so I ran benchmark to check
new results and also compare overall performance of InnoDB in 5.0 and 5.1 before and after fixes.
Problems in InnoDB that were fixed:
So I took for tests:
All releases were compiled from sources with options:
./configure --prefix=/usr/local/mysqltest/mysql-<RELEASE> --with-innodb
and next startup options were used:
libexec/mysqld --no-defaults --user=root --innodb-buffer-pool-size=1500M --innodb-log-file-size=100M --innodb-thread-concurrency=8 --max-connections=1500 --table-cache=512
Description of benchmark
Specially for our needs I developed benchmark suite which support wide range of tables and queries.
The schema and used queries is avaiable here:
or on our page
In short I used several SELECT queries which perform point and range access to table by PrimaryKey and usual key and one query for full table scan.
Range queries is especially interesting for bug 15815 as the same such queries were affected on multi-CPU systems.
CentOS release 4.4 (Final)
2 Ñ… Dual Core Intel XEON 5130
model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
stepping : 6
cpu MHz : 1995.004
cache size : 4096 KB
16GB of RAM
Disks do no matter, as I ran clear CPU-bound benchmarks.
The raw results of benchmarks are available here:
or on our page
(Note: This benchmark is synthetic micro benchmarks focusing on particular simple data access patterns. Results for your workload are likely to be different.)
Couple of my comments: