问题描述
线上管理后台无法登陆,报RedisCommandExcutionException: MISCONF Redis is configured to save RDB snapshots
问题排查
进入服务器,使用命令 ps -ef|grep redis 查询redis 运行状态,发现redis运行正常。查询磁盘占用,发现100%了,立刻删除旧日志,腾出部分空间,服务器运行正常。查看服务日志,发现其中有大量的sql 慢日志,慢日志采集配置:
发现这些日志是桩状态数据同步日志。桩状态数数据是5分钟同步20多万条数据,分为update同步与insert同步,都是做的批量sql处理,1000条一个批次,update执行时间超过1秒,故会出现慢日志error。
解决方案
- logback 设置totalSizeCap为2G, maxHistory为7
- 项目运行日志设置为不打印,>/dev/null 2>&1 (将标准错误输出合并到标准输出中,随后标准输出再重定向到/dev/null文件中)
- 慢sql时间限制改为3秒
- 桩状态做增量更新,只同步update_time为最近5分钟的数据,同步数据量缩减至8万多条
- update 批次条数改为500条