slowlog Redis慢查询

slowlog 参数
slowlog-log-slower-than: 慢查询时间阈值,超过这个阈值的查询将会被记录,默认值10000,但是微妙,也即10毫秒。
slowlog-max-len:慢查询日志最大条数,默认值128,先进先出的队列的形式记录在内存中。
 
slowlog 内容查看
slowlog len查看slowlog的条数
slowlog get {n} 插入slowlog详细内容

日志内容说明:

 9) 1) (integer) 3              慢日志标识Id
     2) (integer) 1540187867         执行日志命令的unix时间戳。
     3) (integer) 6654             命令执行时间,单位为微妙
     4) 1) "scan"                执行的Redis命令
        2) "125336"
        3) "MATCH"
        4) "*"
        5) "COUNT"
        6) "10000"
    5) "***.***.***.***:35096"         客户端Ip以及端口号(Redis 4.0以后新增的)
    6) "slowlog_connection"           客户端名称(通过client setname 设置的名称)
 

大对象查询

  redis-cli -h -p -a --bigkeys

  

Redis 负载查询

  redis-cli -h -p -a --stat,以1秒为频率,输出Redis的负载信息

该命令输出Redis负载情况,
keys Redis中对象的个数
clients 客户端个数
blocked 阻塞个数
requests 接受到的请求数累加(新增数)
connection 连接数

  

Redis命令统计信息

  redis-cli -h -p -a  info commandstats 查询Redis各类命令的开销统计信息。

  

  

持久化阻塞

  Fork持久化阻塞

  对于RDB或者AOF持久化,是通过fork进程完成的,fork线程持久化时耗时过长,会阻塞Redis主线程,
  用redis-cli -h -p -a info stats 查看fork阻塞,latest_fork_usec表示最近一次持久化产生的阻塞

  

  AOF持久化阻塞

AOF持久化会每秒执行一次刷盘操作,fsync刷盘会一直等待到数据写盘完成,如果磁盘繁忙或者磁盘本身性能造成的IO压力,
如果主线程发现距上一次fync成功超过2s,为了安全性(数据写盘),会产生(写)阻塞,直到fsync刷盘完成。
这种情况会将往Redis日志文件中写入异常日志。

Redis阻塞诊断基础的更多相关文章

  1. Redis学习五(Redis 阻塞的原因及其排查方向).

    一.慢查询 因为 Redis 是单线程的,大量的慢查询可能会导致 redis-server 阻塞,可以通过 slowlog get n 获取慢日志,查看详情情况. 二.bigkey 大对象 bigke ...

  2. Redis变慢?深入浅出Redis性能诊断系列文章(二)

    (本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...

  3. Redis学习---面试基础知识点总结

    [学习参考] https://www.toutiao.com/i6566017785078481422/ https://www.toutiao.com/i6563232898831352323/ 0 ...

  4. Redis五种基础与三种高级数据结构解析

    记得点赞+关注呦. 前言 在 Redis 最重要最基础就属 它丰富的数据结构了,Redis 之所以能脱颖而出很大原因是他数据结构丰富,可以支持多种场景.并且 Redis 的数据结构实现以及应用场景在面 ...

  5. Redis(一)【基础入门】

    目录 一.大型网站的系统特点 二.大型网站架构发展历程 三.从NoSQL说起 四.Redis简介 五.Redis安装 1.上传并解压 2.安装C语言编译环境 3.修改安装位置 4.编译安装 5.启动R ...

  6. Redis学习笔记(1) Redis介绍及基础

    1. Redis的特性 (1) 存储结构 Redis(Remote Dictionary Server,远程字典服务器)是以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.Redis支 ...

  7. Redis深入学习笔记(五)Redis阻塞原因

    在实际使用Redis中,有时会碰到客户端timeout异常,或者没有可用连接异常等等异常,总结大概有如下原因: 内部阻塞原因: 1)大对象存取. 2)Fork阻塞. 3)Aof刷盘阻塞(距离上次刷盘大 ...

  8. redis阻塞bgsave与bsrewriteaof

    问题描述: redis在进程偶尔会出现2个进程redis-server \ redis-bgsave Redis 首先 fork 一个子进程, 并在该子进程里进行归并和写持久化存储设备(如硬盘)的. ...

  9. Redis系列(一)--基础API

    Redis:Remote Dictionary Server 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.C语言实现,单线程 Redis特性: 1.速度快 ...

随机推荐

  1. Ansible 安装与配置(一)

    公司大概有200多云主机需要进行管理,但是如果通过手工管理费时还累最终结果也容易出错,所以考虑通过自动化的方式来管理云主机,目前开源的自动化工具,大家用的比较多的有Ansible和Saltstack这 ...

  2. 1.搭建Angular2项目

    简述:搭建angular2的开发环境,网上已经有许多教程,不过都是window系统下的教程,我本人使用的是linux系统,搭建环境的过程也稍微比前者麻烦了一点,可参考本人的另一篇文章Linux系统下安 ...

  3. C# partial 关健字说明

    参考:http://blog.csdn.net/niemeiquan/article/details/7801803 1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个 ...

  4. RocketMQ基本概念及原理介绍

    基本概念 ProducerGroup 通常具有同样属性(处理的消息种类-topic.以及消息处理逻辑流程—分布式多个客户端)的一些producer可以归为同一个group.在事务消息机制中,如果某条发 ...

  5. [ZZ] 如何在多版本anaconda python环境下转换spyder

    https://www.zhihu.com/people/alexwhu/answers 使用anaconda的话,可以参考以下步骤: 1.打开anaconda navigator,选择左侧的环境菜单 ...

  6. 【申嵌视频】5-1 ubuntu下安装VMWare Tools工具

    [申嵌视频]5-1 ubuntu下安装VMWare Tools工具 适合搭建mini2440, Tiny6410, smart210,Tiny4412, NanoPC-T2, NanoPC-T3, N ...

  7. IO队列深度max_queue_depth对系统性能的影响

    前段时间,发生了一个问题引起了我对IO队列深度的研究. 存储服务器中linux kernel的mpt2sas驱动模块,将max_queue_depth设置为1024时,引起系统加载驱动时卡死,而调整为 ...

  8. 排产的两种方式(前推式与后拉式)在Optaplanner上的体现

    生产计划的约束 在制定生产计划过程中,必然是存在某些制约因素,满足某些需求才能进行的,或是交期保证.或是产能限制.或是关键工序制约.即TOC理论 - 任何系统至少存在着一个制约因素/瓶颈:否则它就可能 ...

  9. 报错:Sqoop2 Exception: java.lang.NoSuchMethodError Message: org.apache.hadoop.security.authentication.client.Authenticator

    报错过程: 进入sqoop2之后, 输入命令:show connector,报错 报错现象: Exception has occurred during processing command Exce ...

  10. C#中替换特殊字符串

    private string change字符(string str) { if (!string.IsNullOrEmpty(str)) { //将特殊字符全部替换为下划线 string patte ...