当前位置:首页 > 短网址资讯 > 正文内容

一次MySQL5.7线上故障分析

www.ft12.com8年前 (2017-07-21)短网址资讯2006

坑都是踩出来的。


MySQL 5.7 GA已经有很长一段时间了,经过测试评估,在5.7.16版本release之后,我们开始在生产线上规模部署,一个多月相安无事,心中窃喜,在部署了大约200+实例之后,天有不测风云,故障开始接二连三。

某日,一个从库报OOM。该实例的innodb_buffer_pool_size = 40G,而系统内存是64G,怎么就能OOM了呢,先下线该实例,再看情况:


1、机器内存: 基本快要跪了

   total    used    free    shared    buffers    cached
Mem:    65808000    65492564    315436    0    1648    247284
-/+ buffers/cache: 65243632    564368
Swap:    2088952    2087852    1100

2、看谁是元凶:确认是mysqld

PID    USER    PR    NI    VIRT    RES    SHR S %CPU %MEM    TIME+  COMMAND    
28086 mysql    20    0 87.3g    61g 5192 S 21.2 97.7  28226:23 mysqld

3、看MySQL监控:

com_delete/innodb_rows_deleted : 29/9340
com_update/innodb_rows_updated : 155/9740
com_select/innodb_rows_selected : 299/39400

该业务正常情况下是不可能出现这么大的innodb_rows值的,先stop slave,com_delete/com_update/com_select的值变0,但是innodb_rows值并没有降低,什么!!!现在已经没有任何写入了,怎么可能,诡异了。

4、再看看LSN: 还在涨?


5、再看看是否有事务在回滚(此处感谢@张远 ^_^):

确实有线程在rollback,但是该实例也没有什么大事务,stop slave都已经好久了,为什么还在回滚呢?


6、pstack $mysqldpid看看线程都在干什么:

从下图能看出都是在compress_gtid_table()里,难道短网址和gtid compress有关系?

插入一段关于gtid compress的介绍: MySQL 5.7中新增了一个mysql.gtid_executed表,用于记录当前执行过的gtid,在binlog开启的情况下,当binlog retation的时候会唤醒一个内部线程对这个表的数据进行压缩合并。




7、看下mysql.gtid_executed表的情况:

果然是没有压缩,看来是在压缩这个表数据的时候出错了,然后产生了回滚操作。


8、经过对比,最后确认是这个参数引起的:

我们为了防止有DBA不小心在从库上执行SQL,给gtid_mode=on的复制模式留下隐患,将super_read_only设置成了on,为此,还特意修改了MHA的源码,以便检测和支持短网址的这个设置,结果人算不如天算,踩上了这个坑。将super_read_only 设置成0,当binlog retation后可以看到mysql.gtid_executed的compress恢复正常了,innodb_rows也正常了:



9、写在最后也是最重要的:


a) 参数的调整尽管已经解决了这个问题,但是更深层次的原因还没去找,希望有MySQL源码基础的同学,有兴趣来帮忙填坑的,请将简历砸过来: zouyu@didichuxing.com;

b) 还有一个MySQL5.7.16发生写入夯死的坑未填上,速来!^_^


扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_317.html

标签: MySQLBUG调试
分享给朋友:

相关文章

高并发秒杀系统架构设计 · 抢购、微信红包、短网址、一元夺宝

高并发秒杀系统架构设计 · 抢购、微信红包、短网址、一元夺宝

秒杀业务与难点秒杀业务在各业务中已然非常流行,这里我将互联网行业中的秒杀定义为:在非常短的时间内,将一件商品分成多份进行购买的行为。微信抢红包、短网址、一元夺宝、双11大促抢购等业务本质上都可视作秒杀业务。而最近大热的抢红包的难度在于这是和...

西安一破旧小区楼顶掉下两辆共享单车,车胎爆裂

西安一破旧小区楼顶掉下两辆共享单车,车胎爆裂

“当时住户们听到了很大的响声,后来发现有人从楼上扔下了两辆共享单车。”西安市青松路雅兰花园小区住户说,工作发生在5月17日晚,也不知道是什么人干的。5月18日下午2时许,记者来到该小区B座一家住户家中,从窗子向外看去,两辆单车依然在连接两座...

拿了就走!阿里“无人零售店”体验:全程黑科技

未来新零售是什么样的?全球首个“无人零售店”天猫淘咖啡,为消费者带来了真正身临其境的带来的极致购物体验。  称之为“无人零售”,是因为用户登陆淘宝账号,输入支付密码后,便可以进店点餐购物,无需排队收银,拿了然后走人。  也就是说,你需要的,...

否认全盘接手,百度外卖或与顺丰成立合资公司

否认全盘接手,百度外卖或与顺丰成立合资公司

[ 亿欧导读 ] 现在顺丰控股收购baidu外卖的方向是,双方将按照5:5的出资份额,一起出资经过建立合资公司来运营,不过一切都未确定,还存在变数。一位接近交易的人士表示:“之所以不会全盘接手baidu外卖,主要是因为顺丰以为全资...

这个世界正在把我们变得越来越懒

这个世界正在把我们变得越来越懒

前阵子,看到一段很有趣的话:健身房靠什么盈利呢?是靠那些办了卡,却从不去健身的人。如果所有办了卡的人都坚持去健身,那健身房早就不堪重负了。同样。出版社靠什么盈利呢?是靠那些买了书、却从来不读的人。如果所有人在买书前,都细细思考,确定一定会去...

道德沦丧!中国电商平台被爆集体造假,造假者月入10万…

道德沦丧!中国电商平台被爆集体造假,造假者月入10万…

 近几年网购发展迅速,人们可以足不出户,就可以享受到其他国家优质的产品。然而,那些某些电商网站上大量所谓的“境外购”、“海外购”,真的是从国外买到的产品吗?近日,《新京报》曝光了一桩惊天海淘平台造假大案,国内所有大型海淘平台,几乎...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。