I previously tested InnoDB on an 8-core server to determine how many IOPs it can do for a simple IO-bound workload. The limits were ~12k disk reads/second for MySQL 5.0 and ~18k reads/second for MySQL 5.1. I just repeated the tests using a 16-core server and the results are much better. I can get 20,000 to 30,000 disk reads/second using InnoDB 5.1. InnoDB 5.5 appears to be capable of 50,000 to 70,000 disk reads/second courtesy of support for multiple buffer pools (innodb_buffer_pool_instances). This is possible on benchmarks assuming sufficient concurrency and without unreasonable degradation in response time. This is a best-case result that is unlikely to be achieved in production, but I much prefer a best case of 30,000 disk reads/second instead of 10,000/second.
The test runs 1 to 1024 concurrent threads on a client server. Each thread fetches one row per …
[Read more]