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

一次MySQL5.7线上故障分析

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

坑都是踩出来的。


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

相关文章

真正独立的女性是少数,其他的都是九尾妖狐

真正独立的女性是少数,其他的都是九尾妖狐

“你给我爱情就好了,面包我自己挣。”01我朋友圈里便有这样一个“独立”的女孩。她漂亮且开朗,懂得如何跟男人相处,给他们若即若离的感觉,游刃有余,张弛有度。男人们在她的石榴裙下拜服,却从未有人能一亲芳泽,但他们总愿意为她消费,好像只要银行卡刷...

短网址和二维码的应用:从零开始实现一套聚合支付系统

短网址和二维码的应用:从零开始实现一套聚合支付系统

短网址和二维码在移动扫码支付领域应用越来越广泛,FT12短网址的小编出门从来不带钱,现在从吃饭、交通、购物,甚至是取款机取款,都已经不需要钱和银行卡了。那么这么流行的二维码扫码支付,是如何实现的呢?其实聚合支付的原理很简单,长网址生成短网址...

“艺网”成为首个获千万级Pre-A轮融资的短网址电商

无论是拍卖、租赁、社区、还是电商,互联网艺术品途径终极目的都是撬动C端用户花费。但不可否认的是,艺术品买卖商场现在仍然比花费晋级慢半拍,用“艺网”创始人朱彤的话来说,“让艺术品走向千家万户最少还需要两年”。2015年建立的“艺网”已经完成了...

FT12短网址:新浪微博短网址架构的演进

FT12短网址:新浪微博短网址架构的演进

引言新浪微博短网址(Weibo)是一种通过关注机制分享简短实时信息的广播式社交网络平台。微博用户通过关注来订阅内容,在这种场景下,推荐系统可以很好地和订阅分发体系进行融合,相互促进。微博两个核心基础点:一是用户关系构建,二是内容传播,微博推...

短链接URL系统是怎么设计的?

短链接URL系统是怎么设计的?

最实在的回答实现一个算法,将长地址转成短地址。实现长和短一一对应。然后再实现它的逆运算,将短地址还能换算回长地址。这个回答看起来挺完美的,然后候选人也会说现在时间比较短,如果给我时间我去找这个算法就解决问题了。但是稍微有点计算机或者信息论常...

你尽管秀,明年还是这个人算我输

“秀恩爱,分得快”,这从来都不是什么诅咒或者眼红的恶语,而是人类社会久存于世的公理。01每个人的朋友圈里,都不乏一些热衷于秀恩爱的人,逢年过节尤甚。或感恩一路相伴,或单纯惹眼撒狗粮,文字不重要,重要的是配图。要么聊天记录,要么旅行风光,要么...

发表评论

访客

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