起因
redis 在某次业务逻辑出现宕机后开始以每天1G的速度进行增长,
分析过程
1.宕机原因是访问量暴增,刚开始以为是访问量增加了进行了内存增加
2.增加内存后还是持续的增长,怀疑是业务逻辑有问题,开始进行各种业务逻辑优化
3.分析大key 未发现太大的key
4.分析redis 中的key 出现了一些不知道什么内容key(框架自动生成的session)
5.对比两天的数据发现前天内增长了200w个key
6.定位到原因是key 增加了,逻辑查看并没有无规则的增加key 的情况(框架自动生成的)
7.以为是爬虫,分析没有异常的爬虫请求,分析访问日志发现有大量的 head请求
8.定位到是负载均衡的服务可用性探测,由于探测的是首页,会产生session 每次探测产生一条session 且过期时间要需要9天。
解决过程
1.处理首页的是HEAD 请求的session 进行数据清空,但是key还存在(框架的)
2.进行处理修改负载均衡的探测地址,处理成不走框架无session(至此不再新增了)
3.此处有个坑,负载均衡的探测频率,设置的没有那么高,但是探测的频率确很高导致的暴增的问题,大约是之前的 20倍的速度。