加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹤壁站长网 (https://www.0392zz.cn/)- 分布式云、存储数据、视频终端、媒体处理、内容创作!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Github 8 小时一连串故障的元凶

发布时间:2021-02-25 15:00:23 所属栏目:动态 来源:互联网
导读:1数据库集群出现资源争夺现象。虽然这家代码存储库公司一直在扩大数据运维的规模,但我们的大部分核心数据集仍驻留在其原始集群中。 第一次故障发生在2月19日,当时一个意外的资源密集型查询开始在我们的mysql1数据库集群上运行。虽然原计划是以低得多的频次

1数据库集群出现资源争夺现象。”虽然这家代码存储库公司一直在扩大数据运维的规模,但“我们的大部分核心数据集”仍驻留在其原始集群中。

第一次故障发生在2月19日,当时“一个意外的资源密集型查询开始在我们的mysql1数据库集群上运行。”虽然原计划是以低得多的频次在读取副本池上运行该负载,但“我们不小心将该流量发送到了集群的主节点(master),给该主机加大了压力,超出了剩余容量的服务范围。”

这一切使ProxySQL不堪重负,“ProxySQL负责连接池,因而导致无法一致地执行查询。”

两天后,“计划中的主数据库升级再次引发了ProxySQL故障。”

2月25日的第三次事件再次涉及ProxySQL,当时“活动数据库连接超过了临界值,从而改变了这个新基础架构的行为。由于连接在修复后仍保持在临界值之上,因此系统回退到了降级状态。”

然后在2月27日,GitHub遭到了重大故障,停运了整整4小时23分钟。这是由于“应用程序逻辑对数据库查询模式的更改迅速加大了我们mysql1数据库集群的主节点所面临的负载。负载猛增的这种情况使集群性能大幅下降,以至于影响了所有相关服务的可用性。”

Ballinger声称,GitHub进行了更改,以便更迅速地检测和解决问题。“一旦我们查明了系统之间的相互关系,解决这些问题就很简单。”GitHub还抽出“更多的精力”,在不影响用户的情况下,了解大规模运行的ProxySQL的性能特征及其对其他服务造成的影响。

Ballinger补充说:“就在这些事件发生几天后,我们为其中一个比较重要的MySQL表域(“abilities”表)完成了工作量相当大的数据分区任务。这些更改将mysql1集群主节点上的负载减少了20%,将每秒查询次数减少了15%。”

该公司还致力于减少主数据库的读取操作,并将它们转移至副本数据库,并完成“mysql1集群的在途(in-flight)功能分区,并确定要分区的其他域。它还在完善仪表板,并对最大的模式集进行分片(sharding)。”

如果GitHub没有在更好地报告故障或引入混乱工程技术方面做得更到位让你觉得很奇怪,那是由于它早在2018年的时候就已经保证会做那些事情。2018年,在短暂的连接中断导致其数据库集群在美国东西岸地区不同步后,GitHub遭遇了长达24小时的故障。

而且遭遇故障的并非只有GitHub。运行云平台


(编辑:鹤壁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读