很久沒有寫博客 如今從新撿起來 記錄工做中遇到的問題 方便之後在遇到相似的問題也有一個參考。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恢復正常。以上是問題排查及解決思路。 在這裏記錄很少 可是在排查過程當中仍是會遇到一些其餘問題。