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. zabbix升级遇到连接不上数据库的问题

    问题 迁移zabbix-server端时,原来是4.0版本,现在为4.2版本,遇到如下问题       解决办法 update dbversion set mandatory=;        

  2. vue-cli 项目实现路由懒加载

    在vue 单页应用中,如果路由不实现懒加载,那么打包出来的文件将会非常大,加载也会非常慢.vue-router 官网也有相应的介绍,但是具体怎么去实现还是讲的比较模糊的,下面将一步步讲解配置路由懒加载 ...

  3. taro 报错及解决

    1.解决:taro 升级到最新版(npm install -g @tarojs/cli) 错误 组件编译 组件src/pages/xxx/xxx.tsx编译失败! TypeError: callee. ...

  4. Kettle解决方案: 第一章ETL入门

    第一章ETL入门 1.1 OLPT和数据仓库对比 普通的事务系统和商业智能系统(BI)有什么区别? 1个独立的普通事务系统也被称为在线事务处理系统(OLTP) 商业智能系统也常被称为决策支持系统(DS ...

  5. python3-基础8

    模块与包 什么是模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. #在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别: 1 ...

  6. 黄聪:Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  7. 关于git merge,rebase合并的差别,以及*(no branch)的处理。

    1.merge 在上篇介绍分支的时候有简单的说了一下分支的创建和合并,当时合并就是写的merge,这是依据两个不同分支的最后一次提交的commit对象c5,c7和两个分支的交叉点的commit对象c3 ...

  8. 2018-2019-2 20175227张雪莹《Java程序设计》实验三 《敏捷开发与XP实践》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验三 <敏捷开发与XP实践> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号: ...

  9. json2.js JSON解析程序

    源码: /* http://www.JSON.org/json2.js 2010-03-20 Public Domain. NO WARRANTY EXPRESSED OR IMPLIED. USE ...

  10. 为什么比特币和以太坊未必真得比EOS更去中心化?

    在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...