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

一次MySQL5.7线上故障分析

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

坑都是踩出来的。


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调试
分享给朋友:

相关文章

任志强为何改口说房价要暴跌

任志强为何改口说房价要暴跌

任志强为何改口说房价要暴跌作者:FT12短网址前几天,任志强有一个演讲,刷爆了网络,他说,中国房价不会跌,鼓励大家尽管去买房。后来有网友问草哥,作为一个房价唱空者,对任志强的这个判断怎么看?为了了解背景,我查了一下任志强的说法,他的意思是:...

百度的新赌注:语音由DuerOS开路,无人车由Apollo撑腰

[ FT12短网址 ] 李彦宏的中心赌注即是两个:语音和无人车。详细到战术层面,语音由DuerOS开路,无人车由Apollo撑腰。明日,李彦宏将揭晓他为这两个赌注下了啥新筹码。 那么,baidu都在这两个渠道上现已倾泻了...

百度或将在人工智能领域背水一战 输不起的战争

baidu以近12亿元剥离游戏事务近日,市场人士从2017年3月底baidu提交给美国证券交易委员会的文件发现,百度现已将旗下移动游戏事务baidu游戏出售。有关文件显示,baidu游戏被以12亿元出售后,由两家公司接盘。现在,baidu游...

车震应该怎么办?

车震应该怎么办?

别想歪啦了~想歪了的自己去面壁!你以为是这样的?或者是这样的?又或者是这样的?no,no,no,其实是这样的!?有一次坐着车,突然,突然车就抖了起来,这是车在震我!后来才知道,汽车抖动是常见的故障之一,其中又分为怠速的时候抖动与行车中的抖动...

FT12短网址:给你的女朋友解释为什么随机播放歌曲并不随机

FT12短网址:给你的女朋友解释为什么随机播放歌曲并不随机

FT12短网址的小编在周末的时候开车带着女朋友出去玩。小编车里面随机播放着五月天的歌曲。当小编正沉浸在『得儿飘,得儿飘,得儿意的飘』中,幻想着自己是秋名山车神,突然,旁边的豆腐,哦不,女朋友说话了。诶,你车上的歌曲是随机播放的吗?和短网址的...

短网址资讯:连打赏都要分苹果三成 中国反垄断法不能视而不见

美国闻名财经媒体《华尔街日报》报导,苹果公司在APP store上提出了新的请求,“打赏”将像用户采购的游戏、音乐和视频相同,被视为运用内采购(in-app purchases),苹果将从中取得30%的分红。为了保证方针...

发表评论

访客

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