innoDb 的多线程并发调优

  innodb  本来就好似对高并发设计的,但是不是能应对所有的高并发,你可以对部分就像调优

   首先说明3个参数

  innodb_thread_concurrency  :并发线程数量

innodb _thread_sleep_delay

innodb_concurrency_tickets

innodb用自己的线程调度机制来控制线程如何进入innodb  内核工作,并执行相关的操作。  innodb_thread_concurrency变量就控制了进入内核的线程数量。0表示不限制进入内核的数量。如果innodb内核中已经有很多线程进入,达到一定数量后就不能再进入了。innodb使用了一种两阶段的方式控制线程进入内核,这终机制减少了操作系统因为线程之间的上下文切换带来的开销。

2阶段如下

线程首先睡眠innodb _thread_sleep_delay所规定的时间(微妙),然后再次尝试进入,如果还是不能进入,就会就进入一个等待队列并且把控制权限交给操作系统。


一旦线程进入了内核,他就会得到一个去定的数据作为凭证,它再次进入内核时因为凭证就会减少一些操作,innodb_concurrency_tickets变量就是控制了凭据的数量,凭据是对线程授权。

同时 innodb_commit_concurrency也控制了多线程并发提交的数量。如果 innodb_thread_concurrency  设置的有点大innodb_commit_concurrency应该做出相应的调整,否则会造成大量线程阻塞。


关于多线程并发可以参考该文

http://hi.baidu.com/tangchaoql/blog/item/db7a2959770a967b84352449.html



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值