ToB企服应用市场:ToB评测及商务社交产业平台

标题: 记一次由于操作失误致使数据库瘫痪的故障分析与解决方案 [打印本页]

作者: 梦见你的名字    时间: 2023-9-8 14:47
标题: 记一次由于操作失误致使数据库瘫痪的故障分析与解决方案
引言

2023年8月27日,随着新业务的接入,我们开始进行项目的灰度发布。然而,直到2023年8月31日下午,我们才发现一个新字段并没有进行字段刷新,导致所有数据都是默认值,从而无法继续进行灰度测试。在业务方的要求下,我们需要进行批量更新字段。鉴于我们已经知道了时间范围,我们决定在白天进行批量更新数据。正是在这个过程中,故障发生了!
系统简介

该系统是一个服务群,其请求量主要集中在工作时间(9点-17点),大约有110万个请求。此外,系统还有各种定时任务和批处理任务。其中,涉及本次更新表的服务集群在工作时间其请求量约为90万个,这表明该服务是服务群中的核心请求服务。
然而,整个系统只有一个后台数据库,并且采用的是主从架构。遗憾的是,并没有实现读写分离。从库仅用作备份和应急数据库处理。
时间线

问题分析

时间索引

我们先来看下时间索引,时间索引是数据库中一种常见的索引类型,用于加速针对时间列的查询操作。它的特点包括:
然而,时间索引也存在失效的场景,包括但不限于:
问题点

根据整个流程,我们可以思考一下存在哪些不当之处。我已经考虑了以下几个问题点:
经验总结

根据以上问题点,我总结了一下可以改进的建议:
总结

在这次操作不当导致数据库瘫痪的故障中,我们发现了几个问题点:执行时间不当、操作流程不当、缺乏执行计划和限流机制。针对这些问题,我们提出了改进建议:确认数据库更新时间、优化更新操作、使用限流工具、设置超时时间和重试机制、调整数据库参数以及定期维护和优化数据库。通过这次故障的经验分享,我们应该引以为戒,加强对操作的谨慎性和规范性,以确保系统的稳定运行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4