Redis监控与性能调优

一、Redis监控

  1. Redis状态信息命令info

    A. info stats

      keyspace_hits:key命中次数,指当使用命令向redis中查询某个key的数据时,redis数据存在时就返回并keyspace_hits加1;

      keyspace_misses:key未命中次数,指当使用命令向redis中查询某个key的数据时,redis数据不存在时就返回null并keyspace_misses加1,理论上减少keyspace_misses就可以提高命中率,应用的响应性能和并发性能就越好

 

二、Redis慢查询

  1. Redis单线程命令的处理机制是客户端向Redis服务器发送命令、命令在请求队列中排队等待处理、服务端执行命令、返回命令结果;

  2. Redis慢查询是指服务端在命令执行前后计算每条命令的执行时间,当超过预设阈值时,就记录一条日志,但该时间不包括命令在队列中等待和网络传输的时间;

  3. 其他命令

    A. slowlog-max-len:设置慢查询日志最多能保存多少条日志,默认值128,支持redis.conf里参数配置或者config set slowlog-max-len 128设置,查询用config get命令,注slowlog本身是一个内存中的FIFO队列,当队列大小超过设定长度时,最旧的日志将被依次删除用来放置新的日志,可以考虑定期将慢日志转存到MySQL或ES中;

    B. slowlog-log-slower-than:指要对执行时间大于多少微妙的查询进行记录,默认值10000即10毫秒,若所有命令都如此慢那并发将不超过1000QPS,值为0代表记录所有命令,值小于0代表不记录任何命令;

  4. 慢查询命令

    A. slowlog get [N]:获取慢查询列表中的慢查询信息,其中N代表取出多少条慢日志数据;

      字段1:唯一性的日志标识符;

      字段2:被记录命令的执行时间点;

      字段3:查询执行时间,单位为微妙;

      字段4:完整的执行命令

    B. slowlog len:获取慢查询队列长度;

    C. slwolog reset:清空慢查询队列。

  

二、Redis性能调优

1. redis.conf配置文件优化

 

2. linux参数优化

  A. vm.overcommit_memory = 1:

  B. net.core.somaxconn = 2048:内核参数默认128,对于负载很大的服务是不够的;

  注意:在/etc/sysctl.conf中编写,执行sysctl -p使配置生效;

 

3. 其他性能优化

  A. 禁用THP特性:在/etc/rc.local中添加echo never > /sys/kernel/mm/transparent_hugepage/enabled,然后source /etc/rc.local生效配置;

  B. 

 

4. Redis危险命令禁用

  https://blog.csdn.net/wfy2695766757/article/details/95751044 

 

5. Redis参数

 

可参考:Redis性能优化

    Redis之Connection reset by peer

https://www.freesion.com/article/8688761517/

posted @ 2021-06-15 20:06  如幻行云  阅读(191)  评论(0编辑  收藏  举报