記錄一次redis cpu異常升高的排插思路

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

相關文章
相關標籤/搜索