Fast, Reliable, Proven transactional storage for MySQL
InnoDB Plugin 1.0.4 PAUSE Instruction Test (Modified Sysbench)
This test also employs the modified Sysbench benchmark suggested by Mark Callaghan of Google, where 50% of the queries in the test use a secondary index. Also, the adaptive hash index is disabled during the test, to make sure the buffer pool mutexes become hot.
InnoDB Plugin 1.0.4 inserts the PAUSE instruction in InnoDB spin loops, which increases overall performance, especially with CPU-bound workloads. This technique has the added benefit of minimizing power consumption during the spin loops.
On this test, with one million rows, InnoDB Plugin 1.0.4 with the PAUSE instruction inside spin loops performs about 50% better with 256 users than a version of InnoDB Plugin 1.0.4 without the PAUSE instruction.
Configuration
Dual quad-core Intel Xeon, 3.00GHz, 32 GB memory, RAID 5
Relevant my.cnf parameters:
query-cache-type = 0
query-cache-size = 0
table-open-cache = 2048
innodb-data-file-path = ibdata1:500M:autoextend
innodb-additional-mem-pool-size = 500M
innodb_adaptive_hash_index = OFF
innodb_buffer_pool_size = 16GB
innodb_checksums = ON
innodb_doublewrite = ON
innodb_file_per_table = ON
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 50
innodb_locks_unsafe_for_binlog = OFF
innodb_log_buffer_size = 128M
innodb_log_file_size = 2047M
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 75
innodb_table_locks = ON
innodb_thread_concurrency = 0
innodb_use_sys_malloc = OFF

