Welcome 微信登录

首页 / 数据库 / MySQL / 禁止死锁检测来提升高并发MySQL性能

在一个高并发的MySQL服务器上,事务会递归检测死锁,当超过一定的深度时,性能的下降会变的不可接受。FACEBOOK早就提出了禁止死锁检测。我们做了一个实验,在禁止死锁检测后,TPS得到了极大的提升,如下图所示:

禁止死锁检测后,即使死锁发生,也不会回滚事务,而是全部等待到超时Patch比较简单,直接在死锁检测前加一层判断即可:if (innobase_deadlock_check && UNIV_UNLIKELY(lock_deadlock_occurs(lock, trx))) 
。。。。innobase_deadlock_check是在innodb里新加的系统变量,用于控制是否打开死锁检测
改进MySQL的table_cacheMySQL几个和innodb相关的参数相关资讯      MySQL基础教程 
  • MySQL基础教程:关于varchar(N)  (01月22日)
  • MySQL SELECT同时UPDATE同一张表  (02/19/2013 07:20:18)
  • Linux修改MySQL最大并发连接数  (02/15/2013 15:37:21)
  • 高性能MySQL(第3版) 中文PDF带目  (10/26/2014 10:03:50)
  • 如何在MySQL中的获取IP地址的网段  (02/18/2013 12:23:33)
  • C++和C#访问MySQL的简单代码示例  (12/21/2012 09:04:10)
本文评论 查看全部评论 (0)
表情: 姓名: 字数