大数据-44 Redis 慢查询日志 监视器 慢查询测试学习

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (正在更新...)

章节内容

上节完成了的内容如下:

  • Redis通过Lua功能进行扩展
  • Lua下载安装
  • Lua在Redis中的使用案例(多个)

MySQL 中有慢查询日志,在 Redis 中,也有慢查询日志,可以用于监视和优化查询。

慢查询设置

redis 使用列表存储慢查询的日志,采用队列的方式:FIFO

在 redis.conf 中进行配置:

shell 复制代码
#执行时间超过多少微秒的命令请求会被记录到日志上 0 :全记录 <0 不记录
slowlog-log-slower-than 10000
#slowlog-max-len 存储慢查询日志条数
slowlog-max-len 128

查询日志

为了方便测试,可以通过暂时设置的方式,将检查的阈值调低。

shell 复制代码
config set slowlog-log-slower-than 0
config set slowlog-max-len 2

此时我们的操作基本上都会变成慢操作:

shell 复制代码
set name wzk
set age 123
get name
get age

我们查看慢日志内容:

shell 复制代码
slowlog get

日志可以用来解决以下问题:

  • 问题诊断:当系统或应用程序出现问题时,日志提供的信息,帮助开发人员追踪和定位问题的根本原因。
  • 性能优化:通过分析日志数据,可以了解系统的性能瓶颈和潜在问题,并采取相应的措施来优化系统的性能。

定位与处理

使用 slowlog get 可以获得执行较慢的 redis 命令,针对该命令可以进行优化:

  • 尽量使用短的Key,对于Value有些也可以精简,能用int就int
  • 避免 key *,hgetall 这种操作
  • 减少大key的获取,打散成小key
  • 将 RDB模式 转换为 AOF模式 RDB会FORK子进程
  • 想要一次添加多条数据时可以使用管道
  • 尽可能使用HASH存储
  • 尽量限制下Redis使用的内存大小,可以避免Redis使用swap分区或OOM错误

监视器

Redis 客户端可以通过执行 MONITOR 命令将自己变成一个监视器,实时接受并打印服务器当前处理的命令请求的相关信息。

此时,当其他客户端向服务端发送一条命令时,服务器除了会处理这条命令外,还会将这条命令请求的信息发送给所有监视器。

客户端1

shell 复制代码
./redis-cli
monitor

客户端2

shell 复制代码
./redis-cli
set name:001 wzk
set name:002 kangkang
set age:001 12
set age:002 33

监视平台

对Redis进行监视,这里有几个选择方案:

  • Grafana 开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点。
  • Prometheus 开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。
  • RedisExporter 为Prometheus提供了redis指标的导出,配合Prometheus以及grafana进行可视化监控。
相关推荐
南境十里·墨染春水几秒前
C++ 笔记 高级线程同步原语与线程池实现
java·开发语言·c++·笔记·学习
热爱Liunx的丘丘人3 分钟前
Ansible-doc及常用模块
linux·运维·服务器·ansible
lkforce8 分钟前
MiniMind学习笔记(二)--model_minimind.py
笔记·python·学习·minimind·minimindconfig
Yyyyy123jsjs9 分钟前
如何选用外汇接口实现稳定数据抓取?
大数据·python·金融
阿杰学AI13 分钟前
AI核心知识129—大语言模型之 向量数据库(简洁且通俗易懂版)
数据库·人工智能·ai·语言模型·自然语言处理·向量数据库·vector database
SPC的存折15 分钟前
D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
linux·数据库·mysql·缓存
李兆龙的博客20 分钟前
从一到无穷大 #67 大查询根因分析 - 从 PinSQL 到 RCRank
数据库·时序数据库
AgCl2338 分钟前
MYSQL-6-函数与约束-3/17
android·数据库·mysql
junqiduhang1 小时前
Win11 MySQL 8.0 安装八步走
数据库·mysql
zhangchaoxies1 小时前
golang如何使用SQLx原生SQL查询_golang SQLx原生SQL查询使用方法
jvm·数据库·python