Redis阻塞诊断基础
2018-10-22 15:27
239 查看
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日志文件中写入异常日志。
相关文章推荐
- 2 秒杀系统模拟基础实现,使用Redis实现
- 四、Redis基础命令--列表
- 一、Redis 基础命令---总括
- redis入门基础命令
- Redis基础
- redis基础学习
- Redis基础
- 转载:TCP/IP编程基础——超时、多路复用、非阻塞
- 带你零基础入门redis【二】
- 阻塞与死锁(一)——基础知识
- Redis基础知识
- 【Python之旅】第七篇(二):Redis使用基础
- redis启动后杂项基础知识讲解
- Redis基础学习--安装、简介、基本数据类型及相应命令
- 不惑JAVA之JAVA基础 - 阻塞队列
- redis基础操作
- redis网络诊断
- Redis-09Redis的基础事务
- redis基础
- redis基础简介(六)- jedis使用管道(pipeline)对redis进行读写(使用hmset、hgetall测试)