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:
|
1 |
./configure --prefix=/usr/local/mysqltest/mysql- --with-innodb |
and next startup options were used:
|
1 |
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:
http://docs.google.com/View?docid=d7fzh8b_7dwd8m7
or on our page
https://www.percona.com/blog/files/benchmarks/phptestsuite.html
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.
Used hardware:
CentOS release 4.4 (Final)
2 Ñ… Dual Core Intel XEON 5130model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
stepping : 6
cpu MHz : 1995.004
cache size : 4096 KB16GB of RAM
Disks do no matter, as I ran clear CPU-bound benchmarks.
The raw results of benchmarks are available here:
http://spreadsheets.google.com/pub?key=pOIo5aX59b6Z8eWjePZU-JQ
or on our page
https://www.percona.com/blog/files/benchmarks/innodb_scale.html
(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: