首页 > 数据库 >redis中查看慢日志以及返回参数值的解释

redis中查看慢日志以及返回参数值的解释

时间:2023-11-22 11:44:24浏览次数:39  
标签:lock redis slowlog ds 128 日志 参数值


1、问题描述

 

业务反馈,出现很多连接redis的read timed out的报错

 

 

2、问题分析及解决

 

由于redis是单线程处理的,所有redis接收到命令,都会进入到队列中,等待执行。

 

当客户端,由于等待时间过长,没有接收到server端返回的数据,就是出现超时的报错。

 

程序里,jedis客户端,默认的超时时间是2s。

 

所以,怀疑是redis端在执行缓慢的命令,超过了客户端能够等待的最大的时间。

 

那么,在redis服务端,命令执行过慢,会在慢日志中进行记录。

 

所以,查看慢日志

 

进入到redis客户端中,执行下面的命令

 

2.1、查看redis中设置的慢日志记录时间

 

这个参数的意思是,当在redis中执行的命令,超过这个时间,就会记录慢日志

 

10.1x.xxx.138:30001> config get slowlog-log-slower-than
"slowlog-log-slower-than"
"10000" 

 

查询结果:10000(微秒,us)= 10毫秒(ms)

表示,当redis中执行的命令,超过10毫秒的,就会被记录。

 

2.2、redis默认会记录多少条慢日志

xxxxxx:30001> config get slowlog-max-len
"slowlog-max-len"
"128"

 

查询结果是128条。也就是只会记录128条慢日志记录。

 

OK,参数已经都明白了,接下去看当前记录的redis的情况

 

2.3、查看慢日志

 

xxx:30001> slowlog get 128

 

如果get后面什么都不加,默认返回10条。

 

这里返回全部的128条。

 

将结果输出到一个文件里面,查看结果如下(列出部分数据):

3965090    # slowlog的id
1700478020 # unix时间戳,
2999271    # 执行命令的时间,单位是微秒(us)
KEYS
xxcsdfADG:{${ds}_lock}:lock_idx_trans_pk_de*
?:0

3965089
1700478017
5182858
KEYS
xxcsdfDATA:{${ds}_lock}:lock_idx_trans_pk_de*
?:0

3965088
1700478012
3007463
KEYS
xxcsdfADG:{${ds}_lock}:lock_idx_trans_pk_ds*
xxxxx.141:46855

3965087
1700478009
5234263
KEYS
xxcsdfDATA:{${ds}_lock}:lock_idx_trans_pk_de*
?:0

3965086
1700478004
3038860
KEYS
xxcsdfADG:{${ds}_lock}:lock_idx_trans_pk_de*
xxxxx.141:46855

 

 

 

发现有执行,超过2秒的

3965089
1700478017
5182858   # 大于5秒 ,5182858微秒 = 51828毫秒 = 5秒
KEYS
xxcsdfDATA:{${ds}_lock}:lock_idx_trans_pk_de*
?:0

 

这样就找到执行慢的语句了。

 

具体的执行时间,可以将时间戳进行转换

[root@xxcsdfztsjb-node-01 ~]# date -d @1700478017
Mon Nov 20 19:00:17 CST 2023
[root@xxcsdfztsjb-node-01 ~]# 

 

 

然后,接下来,就基于这个语句让研发继续查就好了。

 

2.4、慢日志记录顺序说明

 

redis默认记录128条,慢日志,序号 从1到128.

当超过128条的时候,第一条会被首先覆盖掉,然后以此类推。

 

也就是说:

执行slowlog get 128时,最上面的记录是最新的。

 

这一点,也可以通过unix时间戳转换工具来进行查看和验证。

 

 

 

标签:lock,redis,slowlog,ds,128,日志,参数值
From: https://www.cnblogs.com/chuanzhang053/p/17848623.html

相关文章

  • 面试还搞不懂redis,快看看这40道面试题(下)
    21、Redis集群的主从复制模型是怎样的?答:为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个节点都会有N-1个复制品.22、Redis集群会有写操作丢失吗?为什么?答:Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下......
  • redis常用知识
    1.安装aptinstallredis2.启动、停止、重启serviceredisstartserviceredisstopserviceredisrestartredis-server/etc/redis/redis.conf也可以启动kill-9进程号停止3.配置项绑定ip:如果要远程访问,将此行注释bind127.0.0.1端口:p......
  • docker 部署redis
     OKdockerrun-d--privileged=true--restart=always-p6379:6379-v/usr/local/docker/redis/6379.conf:/etc/redis/redis.conf-v/usr/local/docker/redis/data6379:/data--nameredis6379redis:7.0.5redis-server/etc/redis/redis.confdockerrun-d--privilege......
  • redis
    redis支持数据持久化,支持多种数据类型,支持数据备份性能高,数据类型丰富,支持事务,支持订阅、消息队列安装官方编译安装[root@redis:/usr/local/redis-4.0.0]#yum-yinstallgccgcc-c++[root@redis:~]#wgethttp://download.redis.io/releases/redis-4.0.0.tar.gz[root@red......
  • 10、Redis哨兵(sentinel)【面试重点】
    一、是什么二、能干嘛三、怎么玩(案例演示实战步骤)1、RedisSentinel架构,前提说明2、案例步骤2.1sentinel.conf文件位置2.2重点参数项说明2.3本次案例哨兵sentinel文件通用配置2.4先启动一主二从3个redis实例,测试正常的主从复制以下是哨兵......
  • python日志Loguru库
    环境python3.7介绍什么是Loguru?Loguru是一个Python日志记录库,以其易用性和灵活性而闻名。与Python内置的logging模块相比,Loguru提供了更简洁的API和更多的功能,让日志记录变得平易近人GitHub地址:https://github.com/Delgan/loguru安装pipinstallloguru基本使用fromlog......
  • openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值
    openGauss学习笔记-129openGauss数据库管理-参数设置-查看参数值openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高,用户需要根据业务场景和数据量的大小进行GUC参数调整。129.1操作步骤以操作系统用户omm登录数据库主节点。使用如下命令连接数据库......
  • SpringBoot使用RedisTemplate
    SpringBoot使用RedisTemplate目录1.Redis五种基础数据结构2.SpringBoot连接Redis1引入依赖2配置redis连接3编写测试类3.详解RedisTemplate的API1常用数据操作2.几种数据结构操作的具体用法1.Redis五种基础数据结构参考链接:Redis入门-数据类型:5种基础数据类......
  • Redis主从
    如何配置:方式一:6380是从,6379是主在6380上执行(去从库配置,配置主库)-在从库执行SLAVEOF127.0.0.16379,-断开关系slaveofnoone方式二:配置文件(配在从库的配置文件中)slaveof127.0.0.16379slave-read-onlyyes"""vimredis.conf #写入......
  • Activiti + spring +事务+回滚 申批流过程中抛异常导至日志表回滚
    在您的服务任务A、B和您的流程之间放置一个层,让我们将其命名为TransactionService。此服务应触发您的服务方法。此外,这些服务方法应该为它们的操作使用新的事务(您可以使用@Transactional注释)。在TransactionService中,不要做任何事情,只需触发它们并将它们封装在trycatch块中。......