Skip to content

2019 01 25上午

事故类型

全局故障

事故过程

  1. 09:10 日志监控收到多个工程、多个用户的 502 以及 504 报警
  2. 发现 worker 数跑满了
  3. 发现 MongoDB product 实例主节点 CPU 100%,有大量慢查询
  4. 重启了数据库和 Web 工程,没有效果
  5. 发现有一个查询语句走错了索引,.find().sort() 使用的索引不同
  6. 删除了 .sort() 代码,并添加了索引
  7. 09:33 报警恢复

事故时长

23 mins

事故原因

之前的数据库性能较好,切分了数据库后,暴露了代码层的性能问题

事故反思

从 CPU 曲线来看,前一天(24号)晚上 23:30 MongoDB CPU 已经达到了 100%,但是我们没有人工观察 CPU 曲线,腾讯云也没有提供检测 MongoDB CPU 的告警,导致我们没有提前发现这个问题。

解决思路

  1. 建议腾讯云提供 MongoDB 的 CPU 监控功能 工单链接
  2. 列举需要监控的指标,在重大底层操作后,进行人工观察