November 28, 2014

Mess with innodb_thread_concurrency

In MySQL 5.0.19 the meaning of innodb_thread_concurrency variable was changed (yeah, again).
Now innodb_thread_concurrency=0 means unlimitied count of concurrent threads inside InnoDB. It’s logical, but there was long way. In MySQL versions below 5.0.8 for unlimited threads you had to set innodb_thread_concurrency over 500 (and default value for innodb_thread_concurrency was 8 ).
Starting with MySQL 5.0.8, the default value is 20, and concurrency checking will be disabled if the setting is greater than or equal to 20. But due to different bugs, in 5.0.19 the default value is 8 again, and 0 disables concurrency checking.
So if you used innodb_thread_concurrency over 500 (or default value in 5.0.8-5.0.18), don’t forget to change it to 0 in new versions, otherwise you can experience leaps of performance.
About Vadim Tkachenko

Vadim leads Percona's development group, which produces Percona Clould Tools, the Percona Server, Percona XraDB Cluster and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.

Speak Your Mind