背景:
在进行一次客户问题排查。发现设置了2个小时key的redis,大概30分钟就nil了。
找运维小哥看redis的配置及性能情况。发现是1G的内存,且已满,配置的淘汰模式是
volatile-lru: 设置了有效期的key,按最少使用删除。这就是原因所在了。
跟领导们讨论后决定1、升级redis为2G集群版 2、allkeys-lru:所有key最少使用的淘汰。
接下来的一个操作引发了事故:
运维同事立刻下了单升级redis配置,工单上写的是,02:00 -06:00执行。我们都以为,现在只是提单,到凌晨时候才会执行升级。下午4点多下单,5点半突然用户页面都跳转回了登录页,且无法再登录了。
此刻的我正在评审需求,立刻抽身救火。第一反应就是redis挂了。运维从阿里运维后台看到redis状态为变配中。。。其他按钮不可操作。立刻联系阿里处理问题,大概是那边将“变配中”状态改为“运行中”,绿色的“运行中”如此耀眼,一切又恢复如初。
领导一阵狂骂,运维委屈,我也委屈,我只是提出问题,运维只是下了个工单,然后就发生了近半个小时的系统瘫痪。小心脏又被狠狠地捏了一把。
谨记:以后线上要动啥,都只能晚上动,不能白天动,不然鬼知道哪里会冒火,阿里的程序也是人写的,也有不靠谱的时候,不能全寄托他人,唯有严格克制自己!!!