More Related Content
Similar to DBA学院课程之:MySQL故障诊断案例
Similar to DBA学院课程之:MySQL故障诊断案例 (20)
DBA学院课程之:MySQL故障诊断案例
- 3. MySQL无故被kill – 原因
• ulimit 有异常参数
$ ulimit -t
300
• -t的含义
– The maximum amount of cpu time in seconds
– 实际上为,进程消耗cpu的总量,达到阈值后会
自己被kill
• 扩展
- 8. MySQL机器内存爆掉 -- 思考
• 近期升级过kernel的因素?
• innodb内部统计的内存使用量
• NUMA开关导致swap?
• 临时表、memory引擎表?
• 连接所消耗内存?
• table cache相关的内存?
• 真正的mysqld内存泄漏?
• … 其它
- 16. 对同一条记录的更新慢 – 现象
• 现象表现
- 应用有个别连接间断性报错:锁等待超时错误
(超过100s)
- slow.log中大量的相同同一条记录更新语句:
update dep_deposit set
gmt_modified=now(), seller_id=xxx, ...
where id=239758;
• “热卖商品”死锁补丁???
- 17. 对同一条记录的更新慢 --疑点
• 疑点1:
– 从业务方了解,此记录为热门退货的某条记录,
集中段在有大量的商品退货:
14点:203次 (出现异常)
13点:22次
12点:9次
• 疑点2
– innodb status的DEADLOCK DETECT无“检测递归
深度过大”字样
- 18. 对同一条记录的更新慢 – 解决
• APP应用在MySQL的事务中嵌套了对TAIR的
访问
– TAIR慢而导致事务中个别未提交事务
– 引发其它锁相关的问题
• 将不合理的TAIR依赖从事务中移除
• 详情