欢迎光临
我们一直在努力

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

今天上午11:10,我们又中“奖”了,我们使用的阿里云 RDS 实例(SQL Server 2016 标准版,16核32G)突发出现 CPU 100%,引发全站故障,直到 12:15 才完全恢复,由此给您带来很大的麻烦,请您谅解。

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

这是我们今年的第3次中“奖”,前2次分别发生在 2020-06-24 3:20~8:30 (详见故障公告)与 2020-08-20 20:55~21:14(详见故障公告)。

相比前2次,这次中了一个大“奖”,发生在访问高峰中的高峰,高峰时期DB宕机如山倒,即使数据库服务器后来恢复也无济于事,只能苦等高峰过去。

这次故障,我们快速发现,快速定位,快速采取最有效的措施(主备切换),但是在大“奖”之下,我们回天无力。

11:10 发生故障,11:11 发现故障,11:14 进行主备切换

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

和以往一样,第1次切换总是失败,11:21 进行第2次主备切换

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

11:22 主备切换成功,CPU 立马降了下来

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

此时如释重负,坐等园子重归风平浪静,博客之外的应用的确恢复了平静,但并发量最大的博客站点依然访问缓慢,我们使劲九牛二虎之力也无法让其恢复,一直等到午饭时间访问高峰过去,才自然恢复。

再一次“领略”了高并发下的雪崩效应,数据库服务器宕机超过一定时间,大量热点缓存失效,即使后来数据库恢复,巨量请求涌向数据库,大量 SQL 执行超时,缓存服务器面临巨大写入数据压力,写缓存又会占用更长时间的 tcp 连接,大量缓存无法有效建立导致并发请求持续不断地涌向数据库。

【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障

(memcached 服务器 tcp 连接监控)

再一次为代码功力不过硬付出了代价,由于我们没有在代码中采取限流措施,造成系统无法应对这种不堪重负的异常情况。

我们会吸引教训,努力改造博客系统,提高系统对高并发的应对能力,不能给 .NET 社区丢脸。

非常抱歉!这次长达1小时左右的故障给您带来了很大的麻烦,请您谅解。

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障》
文章链接:https://www.456zj.com/5640.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址