托管运维

复盘的目的是改系统,不是找责任人

如果复盘会变成追责会,下次出事就没人愿意说真话了。我们坚持无指责复盘,只讨论怎么让系统更难出错。

故障响应流程

  1. T+0

    告警触发或报障

    自动创建事件单,按分级通知对应值班人员。P1 走电话触达,确保有人接。

  2. T+5 分钟

    确认与定级

    值班人员确认影响范围,初步定级。P1/P2 立即拉响应群,指定事件指挥(IC)。

  3. T+15 分钟

    止损优先

    先恢复服务,不急于找根因。可用手段:回滚、切流、限流、降级、扩容。

  4. 响应中

    定期同步

    P1 每 30 分钟同步一次进展,即使没进展也要说。信息真空会引发更多焦虑和干扰。

  5. 恢复后

    确认与观察

    业务方确认恢复,继续观察 30-60 分钟,确认无反复后关闭事件。

  6. T+2 工作日

    复盘会

    无指责复盘,输出时间线、根因、改进项与负责人。改进项进跟踪表并定期检查闭环。

复盘报告模板

markdown postmortem-template.md
# 故障复盘:[简短描述]

**事件编号**:INC-2026-0812-01
**严重等级**:P1
**影响时长**:2026-08-12 14:23 - 15:07(44 分钟)
**影响范围**:订单提交接口成功率降至 32%,约 8600 名用户受影响
**复盘会时间**:2026-08-14 10:00
**参与人**:[列出所有参与者]

---

## 一、影响

| 维度 | 具体影响 |
|------|----------|
| 用户 | 大量用户下单失败,部分重试后成功 |
| 业务 | 订单损失按当日均值估算,数据填在内部复盘表 |
| 数据 | 无数据丢失或错乱 |
| 对外 | 发布了服务异常公告,收到一批客诉 |

## 二、时间线

| 时间 | 事件 | 备注 |
|------|------|------|
| 14:18 | 运营发布大促活动,流量开始上涨 | 未提前告知技术团队 |
| 14:23 | 订单服务错误率告警触发(P1) | 自动电话通知值班 |
| 14:26 | 值班确认,拉响应群,指定 IC | 响应耗时 3 分钟 |
| 14:31 | 定位到数据库连接池耗尽 | Performance Insights |
| 14:38 | 尝试提高连接池上限,未生效 | 应用需重启才能生效 |
| 14:45 | 决定启用 RDS Proxy 做连接复用 | 无需重启应用 |
| 14:58 | Proxy 生效,错误率开始下降 | |
| 15:07 | 错误率恢复正常,业务方确认 | 恢复耗时 44 分钟 |
| 15:40 | 观察期结束,关闭事件 | |

## 三、根因分析

### 直接原因
订单服务的数据库连接池上限设为 50,大促流量下并发请求超过 50,
新请求无法获取连接,超时后返回 500。

### 深层原因(逐层追问)

1. **为什么连接池配成 50?**
   这是三年前上线时的默认值,之后业务量增长了 8 倍,配置从未复审。

2. **为什么没有提前发现?**
   连接池使用率没有纳入监控。我们只监控了数据库侧的连接数,
   没监控应用侧连接池的饱和度。

3. **为什么大促流量没有提前告知?**
   运营发活动不需要经过技术评审,流程上没有这个环节。

4. **为什么修复花了 34 分钟?**
   第一次尝试的方案(改连接池上限)需要重启应用,
   在故障期间重启风险大,犹豫了一段时间才换方案。

## 四、做得好的地方

- 告警准确及时,3 分钟内有人响应
- 止损优先的原则执行到位,没有陷入排查根因的坑
- RDS Proxy 方案选得对,避免了重启带来的二次影响

## 五、改进项

| # | 改进项 | 类型 | 负责人 | 期限 | 状态 |
|---|--------|------|--------|------|------|
| 1 | 所有服务的连接池使用率纳入监控,80% 告警 | 检测 | [姓名] | 08-20 | 进行中 |
| 2 | 全量复审连接池配置,按当前流量重新设定 | 预防 | [姓名] | 08-25 | 待开始 |
| 3 | 核心服务全部接入 RDS Proxy | 预防 | [姓名] | 09-15 | 待开始 |
| 4 | 建立运营活动技术预告流程 | 流程 | [姓名] | 08-30 | 待开始 |
| 5 | 编写连接池耗尽的处置 Runbook | 响应 | [姓名] | 08-22 | 已完成 |
| 6 | 大促前的容量压测纳入 checklist | 预防 | [姓名] | 09-01 | 待开始 |

## 六、经验沉淀

配置项的「默认值」会随着业务增长变成隐患。
建议对所有影响容量的配置项建立年度复审机制,
而不是等出事才发现三年没改过。

改进项必须有负责人和期限,并且在后续例会上跟踪闭环。没人跟踪的改进项等于没有。

MTTR 是我们最看重的指标

故障不可能完全避免,但恢复速度可以持续优化。我们托管客户的 P1 事件平均 MTTR 是 38 分钟,靠的是完备的 Runbook、演练过的应急手段和明确的决策授权。

下一步

把云的复杂度交给我们,你只管做业务

留下需求,沐杉云的解决方案架构师会在一个工作日内联系你,提供免费的现状评估、迁移方案草案与 TCO 测算表。