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 @   如幻行云  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示