今天记录分享一次服务上线后cpu飙升问题
问题经过和分析
- 项目的场景是接收各个系统的消息进行处理,
- 项目消费上线前,一些发消息的业务逻辑先上线,消息在消息队列内大量挤压
- 服务上线,没有对消息队列内消息reset处理,大量消息涌入
- 服务内部并发处理的多线程备撑满,频繁gc(平均一分枝接近50次)
- 服务器cpu飙升,内存使用飙升,发出警报
- 取消消费开关,消息队列reset后正常
总结提醒
- 系统上线前考虑好是否有潜在影响
- 设计时做好开关设计,异常情况下可以有效控制服务逻辑
- 尽量做好压测试
今天记录分享一次服务上线后cpu飙升问题