- 线上故障产生原因
- 个人原因:基础不牢靠/自测不充分/前瞻性不足
- 团队原因:没有标准的研发流程,测试不充分
- 应急流程
- 保留现场:在不影响用户体验前提下,保留现场数据
- 恢复系统:初步分析原因,可通过回滚快速恢复
- 分析事故原因及影响:
- 线上事故回溯
- 定位/思路
- 一般分为可复现和不能稳定复现两类,可复现一般日志可以看出问题,一般不能稳定复现的一般与多线程有关:
- 通过 code review/ 压测/调用代码来增加多线程问题复现的概率;
- 利用相关工具分析线程堆栈,内存使用情况,死锁等;
- 宿主机的负载均衡,包括:cpu/磁盘/内存/网络IO等
- 系统最近是否又上线
- 基础平台最近是否有升级
- 依赖系统最近是否有上线
- 是否运营误操作导致故障
- 是否有网络抖动
- 业务是否上量
- 监控层面
- 系统层面:系统cpu利用率是否正常/系统负载/内存使用情况/网络IO/磁盘负载/IO等待/交换区使用/线程数/打开的文件句柄的等
- 应用层面:接口响应时间/吞吐量/调用频次/接口成功率
- 数据层面:数据库负载/慢sql/数据库连接数/缓存连接数/占用内存/吞吐量/响应时间/消息队列响应时间,负载/积压情况
- 一般分为可复现和不能稳定复现两类,可复现一般日志可以看出问题,一般不能稳定复现的一般与多线程有关: