zoukankan      html  css  js  c++  java
  • 记录一次redis cpu异常升高的排插思路

    好久没有写博客  现在重新捡起来  记录工作中遇到的问题  方便以后在遇到类似的问题也有一个参考。

     

    背景:有一天生产服务器redis  cpu 频繁报警    单核cpu 所以在想是不是业务量上来了。确定之后发现不是这个问题。

    排查思路:

    1. 查看监控cpu 最近三天 七天的历史状态 发现cpu目前是异常状态,比往常要高很多

    2. 查看慢日志 发现有get app_encrypted:crawler_task_switch 获取某个key 用了40ms

    3. monitor 监控当前命令使用状态 收集1分钟

     redis-cli -h ***** -a **** monitor > monitor.txt

    4. 查看top command 发现get是最频繁的   

      取关键字GET的进行分析,统计key的get次数:   

      awk '/GET/{a[$5]++}END{for(i in a)print i" "a[i]}' monitor.txt |sort -k2nr|more

    5. 发现排名第一的key是app_encrypted:crawler_task_switch 1分钟get 十几万次。


      问题找到,反应给开发 发现写了死循环 代码修改之后cpu恢复正常。

    以上是问题排查及解决思路。 在这里记录不多 但是在排查过程中还是会遇到一些其他问题。

  • 相关阅读:
    webservice
    AppDomain (转)
    Apache和Nginx防盗链的几种配置方法
    优化PHP代码的40条建议
    file_get_contents无法请求https连接的解决方法
    PHP SPL
    Ubuntu 查看系统信息
    PHP导出Excel
    mysql集群
    配置yum源的两种方法
  • 原文地址:https://www.cnblogs.com/soilge/p/11641456.html
Copyright © 2011-2022 走看看