Mess with innodb_thread_concurrency (mysql与多cpu)

MySQL 5.0.19中innodb_thread_concurrency变量的意义发生了变化。设置为0表示不受限制的并发线程数。从5.0.8开始,默认值为20,设置大于等于20将禁用并发检查。但在5.0.19中,又回到了默认值8,而0禁用了并发检查。若之前设置超过500或使用默认值,在新版本中需改为0以避免性能下降。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原贴:http://www.mysqlperformanceblog.com/2006/05/12/mess-with-innodb_thread_concurrency/

Mess with innodb_thread_concurrency

Posted by Vadim
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.
Related posts: : InnoDB thread concurrency:: Fixing column encoding mess in MySQL:: MySQL QA Team Benchmarks for MySQL 5.1.30:
 

1 Comment »

  1. [...] So what is the best value for innodb_thread_concurrency? For 1-CPU and 2-CPU I think it can be just disabled (innodb_thread_concurrency=0 since 5.0.19, more about default values). [...]

    Pingback :: June 5, 2006 @ 2:33 am

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值