Redis实战(6)-- 慢查询运用与理解

介绍

类似于对应Mysql,记录插入耗时多于一定时间限制的命令语句,便于发现性能缺陷以及优化对应处理,也便于运维进行相关情况知晓。

Redis客户端执行命令分为以下部分:

而慢查询通常只统计执行命令时间,所以慢查询不代表代码有待优化(可能是网络等原因),具体情况还需进行进一步进行分析。

慢查询配置

(1)动态设置阈值

慢查询的阈值默认值是10毫秒

执行:config set slowlog-log-slower-than 20000    可以进行设置对应的慢查询阈值为20s

在进行设置完对应的阈值后,可以进行config rewrite 指令操作进行配置持久化。

【注意】slowlog-log-slower-than = 0表示所有命令都进行记录

Slowlog-log-slower-than < 0表示所有命令都不记录                

慢查询默认保存在服务器状态slowlog链表中,最大长度就是slowlog-max-len是列表的最大长度(默认128条),当慢查询日志列表被填满后,新的慢查询命令则会继续入队,队列中的第一条数据机会出列。

(2)获取慢查询

执行:slowlog get [n]  获取执行条数的慢查询语句。

慢查询组成:

  • 慢查询日志的标识id
  • 发生时间戳
  • 命令耗时(单位微秒)
  • 执行命令和参数
  • 客户端IP+端口
  • 客户端名称

使用注意事项

(1)slowlog-max-len配置建议:

建议调大慢查询列表,记录慢查询时Redis会对长命令做截断操作,并不会占用大量内存。增大慢查询列表可以减缓慢查询被剔除的可能,线上生产建议设置为1000以上。

(2)慢查询是先进先出队列,而且Redis中存储有限,为了防止记录被丢弃,应该将对应记录持久化到其他存储中。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值