zoukankan      html  css  js  c++  java
  • 关于redis使用CPU较高的总结

    有监控

    1、部署监控工具,统计各种操作的频率;
    2、查看慢查询。

    没监控,使用命令排查

    1. 使用info和monitor命令(这两个命令也可以登录之后使用,不过有可能造成client的crash,可以使用tail命令优化)
    redis-cli -h 192.168.1.xx  -a 'xxx' info 
    redis-cli -h 192.168.1.xx  -a 'xxx' monitor 
    
    #info命令会显示当前的状态,monitor会显示当前的客户端的命令请求;
    
    1. 使用慢查询
    redis-cli -h 192.168.1.xx  -a 'xxx' slowlog get (reset替换get清空旧的log)
    
    #这个命令会显示出最近一段时间内的耗时较久的查询。
    
    #慢日志参考
    127.0.0.1:6379> slowlog get
    1) 1) (integer) 0 //日志唯一标示
       2) (integer) 1517305551 // 命令执行的UNIX时间戳
       3) (integer) 8248 // 命令执行的时间(微秒)
       4) 1) "config" // 执行的命令及参数
          2) "set"
          3) "slowlog-log-slower-than"
          4) "0"
    

    redis日志

    #非容器
    tailf /var/log/redis/
    
    #容器
    docker logs [参数] 容器
    -f    :实时查看
    -t    :显示时间戳(相对时间)
    --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
    --tail string    从日志末尾显示多少行日志, 默认是all
    
    例子:
    
      查看指定时间后的日志,只显示最后100行:
    $ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
    
      查看最近30分钟的日志:
    $ docker logs --since 30m CONTAINER_ID
    
      查看某时间之后的日志:
    $ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
    
      查看某时间段日志:
    $ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
    

    redis连接数异常

    #1.查看redis连接数
    [root@redis ~]# docker exec -it 22933238fad7 redis-cli info |grep connect
    connected_clients:6809
    total_connections_received:178835
    rejected_connections:0
    connected_slaves:0
    
    #2.查看客户端连接状态
    [root@redis ~]# redis-cli client list
    id=3867 addr=172.18.0.1:33452 fd=1997 name= age=11514 idle=115140(秒) flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
    
    #3.配置客户端空闲超时时间
        查看redis客户端超时设置
    redis-cli config get timeout
    1) "timeout"
    2) "0"   #0表示不开启空闲清除
    
        设置空闲清理时间
    redis-cli config set timeout 600
    

    redis使用内存异常

    #1.查看系统内存
    [root@redis ~]$ free -g
                 total       used       free     shared    buffers     cached
    Mem:            62         61          1          0          0         25
    -/+ buffers/cache:         35         27
    Swap:            0          0          0 
    
    #2.查看redis使用内存
    [root@redis ~]# docker exec -it 22933238fad7 redis-cli info |grep memory
    used_memory:890846296
    used_memory_human:27G      #
    used_memory_rss:877944832
    used_memory_rss_human:837.27M
    used_memory_peak:942846680
    used_memory_peak_human:899.17M
    used_memory_peak_perc:94.48%
    
    #3.限制redis使用内存
        立即生效
    sysctl vm.overcommit_memory=1
    
        永久生效
    vim /etc/sysctl.conf
    vm.overcommit_memory=1
    
  • 相关阅读:
    题解:2018级算法第五次上机 C5-图2
    题解:2018级算法第四次上机 C4-最小乘法
    题解:2018级算法第四次上机 C4-商人卖鱼
    题解:2018级算法第三次上机 C3-Zexal的浩瀚星辰
    C语言算法动态规划板子题汇总
    QT样式表
    3.PCB-禁止布线层
    2.PCB-板切割槽
    1.PCB-板形设置
    变压器
  • 原文地址:https://www.cnblogs.com/syy1757528181/p/14509599.html
Copyright © 2011-2022 走看看