记一次线上环境redis响应慢,导致雪崩

本文记录了一次由于Redis CPU激增导致的线上服务雪崩事件。Redis采用主从哨兵架构,Java服务在K8s上运行。CPU问题引发了健康检查失败,K8s自动移除了Java服务。为防止雪崩,解决方案是在SpringBoot健康检查中忽略Redis检查。此外,通过检查Redis慢日志、优化命令、排查大对象和关闭THP,以及使用`redis monitor`和火焰图进行诊断和性能优化。
摘要由CSDN通过智能技术生成
  • 前言
    redis是主从加哨兵架构,java服务放在k8s上,使用springboot的actuator来进行健康检查。

故障原因如下,redis因为cpu激增,导致响应慢,断开了和java的连接,正好在k8s健康检查的时间内,检查到java服务不正常,k8s干掉了java服务,导致业务不正常。

  • 解决思路
  1. 首先防止雪崩效应,避免雪球越滚越大,网络波动是我们避免不了的,我们也不能因为这个原因,去加大k8s检查间隙时间或者关闭k8s的健康检查,不能因为丢了西瓜去捡芝麻,所以更合适的解决办法是,springboot去做健康检查的时候,关闭掉对redis的检查,不要因为redis的问题,导致java服务雪崩。
management.health.redis.enabled=false

2.redis cpu激增检查,cpu飙高,我们要分情况来选择合适的方法排查,如果是一直很高,直接查看信息,可能线程死锁了等,如果是一会儿高,一会儿降低,火焰图更适合。

  1. 先检查redis的慢日志,slowlog get 5,如果有慢日志,使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

死磕音视频

你的打赏是我分享的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值