Fast, Reliable, Proven transactional storage for MySQL

InnoDB Plugin 1.0.4 Performance Tests and Results

The 1.0.4 release of the InnoDB Plugin introduces many new performance-oriented features that improve I/O efficiency, enhance concurrency and scalability, and improve out-of-the-box performance. Specifically, this release introduces these performance-enhancing features, some of which reflect changes contributed by Sun Microsystems, Google and Percona:

  • Multiple background I/O threads make InnoDB more scalable on high-end systems
  • User control of the master threads I/O rate can improve performance, depending on the I/O bandwidth
  • Heuristic based, adaptive flushing of dirty pages helps avoid I/O bursts and throughput reductions at checkpoints
  • Group commit is re-enabled, which can improve performance significantly
  • A new read ahead algorithm with a user-specified threshold required to trigger asynchronous reads improves I/O performance for many workloads
  • User control of the delay (spin time) in sampling locks can improve performance, depending on the cache memory speed of a server
  • The PAUSE instruction inside spin loops minimizes CPU consumption, power consumption and increases overall performance
  • Inlining of functions and compiler-generated data pre-fetch instructions are enabled with Sun Studio
  • Atomic instructions are now used on Windows and Solaris for mutexing and locking, enhancing scalability on these platforms
  • New default values for some configuration parameters improve out-of-the-box performance

These new performance features can yield much better throughput, depending on your workload, platform and other tuning considerations. This page provides some further description of the important new features, and full details are provided in Chapter 7 of the InnoDB Plugin documentation.

We’ve tested the new performance-enhancing features using different workloads using CPU-bound and I/O-bound configurations. Click on the following to review details of the tests run and the results observed.

The primary focus of the above tests is on the new features introduced in InnoDB Plugin 1.0.4. Therefore, some features introduced in previous releases of the InnoDB Plugin are turned off for these tests. Depending on your workload and configuration, you may achieve even better throughput with such features (for example, innodb_use_sys_malloc) turned on, as we demonstrated in InnoDB Plugin 1.0.3 performance tests.

The performance results illustrate the performance improvements in the 1.0.4 release with specific configurations on our hardware. Of course, your results may vary depending on a number of factors, and you should perform your own evaluation.