很久没有写博客 如今从新捡起来 记录工做中遇到的问题 方便之后在遇到相似的问题也有一个参考。redis
背景:有一天生产服务器redis cpu 频繁报警 单核cpu 因此在想是否是业务量上来了。肯定以后发现不是这个问题。服务器
排查思路:app
1. 查看监控cpu 最近三天 七天的历史状态 发现cpu目前是异常状态,比往常要高不少
ui
2. 查看慢日志 发现有get app_encrypted:crawler_task_switch 获取某个key 用了40ms
spa
3. monitor 监控当前命令使用状态 收集1分钟
日志
redis-cli -h ***** -a **** monitor > monitor.txt
code
4. 查看top command 发现get是最频繁的
开发
取关键字GET的进行分析,统计key的get次数:
get
awk '/GET/{a[$5]++}END{for(i in a)print i"\t"a[i]}' monitor.txt |sort -k2nr|more
博客
5. 发现排名第一的key是app_encrypted:crawler_task_switch 1分钟get 十几万次。
问题找到,反应给开发 发现写了死循环 代码修改以后cpu恢复正常。以上是问题排查及解决思路。 在这里记录很少 可是在排查过程当中仍是会遇到一些其余问题。