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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗