学习

如果您尚未克隆此仓库,请进行克隆: https://github.com/redislabs-training/ru301

进入 observability-stats 目录。

要求

  • docker
  • docker-compose
  • 互联网连接

启动环境

$ docker-compose up -d

连接到环境

在终端中运行此命令以在正在运行的 Docker 容器内部获取 shell 提示符

$ docker-compose exec redis_stats bash

生成负载

生成一些负载的一种简单方法是打开另一个终端并运行

$ docker-compose exec redis_stats redis-benchmark

Info

由于大多数统计数据来自 INFO 命令,您应该首先运行此命令来查看它。

$ redis-cli INFO

尝试将此输出通过管道传输到文件。

内存使用情况

由于我们通常建议设置 maxmemory 大小,因此可以根据 maxmemory 配置值和 used_memory 统计信息的结果计算内存使用百分比并发出警报。

首先设置 maxmemory

$ redis-cli config set maxmemory 100000

然后您可以提取这两个数据点,看看如何用它们来计算内存使用情况。

$ redis-cli INFO | grep used_memory:
$ redis-cli CONFIG GET maxmemory

客户端数据

您可以提取 INFO 命令的 clients 部分

$ redis-cli info clients

或者您可能想要跟踪的特定指标

$ redis-cli info clients | grep connected_clients

Stats 部分

使用 redis-cli 列出完整的 'stats' 部分。

命中率

可以使用 stats 部分中的两个数据点生成缓存命中/未命中率。

$ redis-cli INFO stats | grep keyspace

被逐出的键

当 Redis 达到最大内存且 redis.conf 中的 maxmemory-policy 设置为 volatile-lru 以外的值时,会发生逐出。

$ redis-cli INFO stats | grep evicted_keys

键空间

以下数据可用于绘制键空间大小的图表,因为键数量的快速下降或激增是问题的好指标。

$ redis-cli INFO keyspace

工作负载(接收的连接数,处理的命令数)

以下统计信息是衡量 Redis 服务器工作负载的好指标。

$ redis-cli INFO stats | egrep "^total_"