【故障公告】访问高峰数据库服务器 CPU 100% 引发全站故障
今天上午11:10,我们又中“奖”了,我们使用的阿里云 RDS 实例(SQL Server 2016 标准版,16核32G)突发出现 CPU 100%,引发全站故障,直到 12:15 才完全恢复,由此给您带来很大的麻烦,请您谅解。
这是我们今年的第3次中“奖”,前2次分别发生在 2020-06-24 3:20~8:30 (详见故障公告)与 2020-08-20 20:55~21:14(详见故障公告)。
相比前2次,这次中了一个大“奖”,发生在访问高峰中的高峰,高峰时期DB宕机如山倒,即使数据库服务器后来恢复也无济于事,只能苦等高峰过去。
这次故障,我们快速发现,快速定位,快速采取最有效的措施(主备切换),但是在大“奖”之下,我们回天无力。
11:10 发生故障,11:11 发现故障,11:14 进行主备切换
和以往一样,第1次切换总是失败,11:21 进行第2次主备切换
11:22 主备切换成功,CPU 立马降了下来
此时如释重负,坐等园子重归风平浪静,博客之外的应用的确恢复了平静,但并发量最大的博客站点依然访问缓慢,我们使劲九牛二虎之力也无法让其恢复,一直等到午饭时间访问高峰过去,才自然恢复。
再一次“领略”了高并发下的雪崩效应,数据库服务器宕机超过一定时间,大量热点缓存失效,即使后来数据库恢复,巨量请求涌向数据库,大量 SQL 执行超时,缓存服务器面临巨大写入数据压力,写缓存又会占用更长时间的 tcp 连接,大量缓存无法有效建立导致并发请求持续不断地涌向数据库。
(memcached 服务器 tcp 连接监控)
再一次为代码功力不过硬付出了低价,由于我们没有在代码中采取限流措施,造成系统无法应对这种不堪重负的异常情况。
我们会吸引教训,努力改造博客系统,提高系统对高并发的应对能力,不能给 .NET 社区丢脸。
非常抱歉!这次长达1小时左右的故障给您带来了很大的麻烦,请您谅解。
最新文章
- 开启基本数据结构和算法之路--初识Graphviz
- 第一次在Django上编写静态网页
- myeclipse快捷键
- Android深度探索--HAL与驱动开发----第一章读书笔记
- python deep copy and shallow copy
- Smarty模板技术学习(二)
- Python中HTTPS连接
- ubuntu14.04离线配置cm5.5.1
- uinavigation样式
- luigi学习8--使用中央调度器
- chrome 在home下生成 libpeerconnection.log
- CC3的多列属性Multi-column
- Android OpenGL ES(五)GLSurfaceView .
- Linux 用户打开进程数的调整
- SpringBoot配置
- OC字典的使用
- c#实战开发:以太坊私链搭建(一)
- Mybatis运行错误:信息: SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
- c#中富文本编辑器Simditor带图片上传的全部过程(项目不是mvc架构)
- Logistic Regression Using Gradient Descent -- Binary Classification 代码实现
热门文章
- 纯粹极简的react状态管理组件unstated
- android开发之意图
- 18-SE-你说的都队
- K8S环境的Jenkin性能问题处理
- 无所不能的embedding 3. word2vec->;Doc2vec[PV-DM/PV-DBOW]
- windows 漏洞列表
- MATLAB textread函数
- P2034 选择数字 / P2627 [USACO11OPEN]Mowing the Lawn G
- Centos7 Docker配置TLS认证的远程端口的证书生成教程(shell脚本一键生成)
- Linux下clock子系统