学习

如果您尚未克隆此仓库,请克隆: 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 命令,因此您应该首先运行它以查看其中是否存在。

$ 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

客户端数据

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

$ redis-cli info clients

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

$ redis-cli info clients | grep connected_clients

统计部分

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

命中率

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

$ redis-cli INFO stats | grep keyspace

驱逐键

当 Redis 达到其最大内存并且 maxmemory-policy 在 redis.conf 中设置为除 volatile-lru. 之外的任何内容时,就会发生驱逐。

$ redis-cli INFO stats | grep evicted_keys

键空间

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

$ redis-cli INFO keyspace

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

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

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