TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:

TOP云总站云服务器:https://topyun.vip/server/buy.html

TOP云C站云服务器:https://c.topyun.vip/cart

在云服务器上监控 Redis 的性能是保障其高可用性、稳定性与高效运行的关键。通过实时监控 Redis 的关键指标(如内存使用、QPS、延迟、连接数等),可以及时发现性能瓶颈、内存泄漏、慢查询等问题,从而快速响应和优化。


一、Redis 性能监控的核心指标

在监控 Redis 前,需要明确哪些指标是关键的。以下是 Redis 性能监控的核心指标分类

类别指标说明
资源使用内存使用 (used_memory)Redis 实际使用的内存量

内存碎片率 (mem_fragmentation_ratio)内存分配效率

CPU 使用率Redis 进程的 CPU 占用

网络流量 (total_connections_received, total_commands_processed)连接数与命令处理量
性能指标延迟 (latency)命令执行的延迟时间

QPS (Queries Per Second)每秒处理的请求数

慢查询 (slowlog)执行时间超过阈值的命令
连接与客户端当前连接数 (connected_clients)活跃的客户端连接数

阻塞客户端 (blocked_clients)执行阻塞命令(如 BLPOP)的客户端数
持久化与复制RDB/AOF 状态持久化是否正常

主从同步延迟 (master_repl_offset)主从数据同步状态

二、监控 Redis 性能的方法

方法 1:使用 Redis 自带的 INFO 和 SLOWLOG 命令(基础方案)

Redis 提供了内置命令,可以实时查看性能相关数据。

(1)INFO 命令:获取所有监控指标

redis-cli INFO

或获取特定模块信息(如内存):

redis-cli INFO memory
redis-cli INFO stats
redis-cli INFO clients
redis-cli INFO persistence

重点关注字段

  • used_memory:Redis 实际使用的物理内存(单位:字节)

  • used_memory_rss:操作系统分配给 Redis 的物理内存

  • mem_fragmentation_ratio:内存碎片率(used_memory_rss / used_memory)

  • connected_clients:当前连接数

  • instantaneous_ops_per_sec:瞬时 QPS

  • total_commands_processed:总命令处理数

  • keyspace_hits / keyspace_misses:缓存命中率

  • rdb_last_bgsave_status:RDB 持久化状态

  • aof_last_bgrewrite_status:AOF 重写状态

定时采集:可以通过脚本定期执行 redis-cli INFO 并存储到日志或数据库中(如 Prometheus + Grafana)。


(2)SLOWLOG 命令:分析慢查询

慢查询是导致 Redis 性能下降的常见原因之一。

  • 查看慢查询日志:

redis-cli SLOWLOG GET [数量]
# 示例:查看最近的 10 条慢查询
redis-cli SLOWLOG GET 10

输出示例:

1) 1) (integer) 14           # 日志 ID
   2) (integer) 1620000000   # 时间戳
   3) (integer) 15000        # 执行耗时(微秒)
   4) 1) "KEYS"              # 慢查询命令  2) "*"                # 参数
  • 设置慢查询阈值(默认 10 毫秒):

# 在 redis.conf 中配置
slowlog-log-slower-than 10000  # 单位:微秒(10000 微秒 = 10 毫秒)

# 动态设置(无需重启)
redis-cli CONFIG SET slowlog-log-slower-than 10000

建议:生产环境建议将阈值设置为 10000(10ms)或更低,定期分析慢查询并优化。


方法 2:使用 redis-cli --latency 测试延迟

Redis 提供了内置的延迟测试工具,可以测量客户端到 Redis 服务器的延迟。

(1)测试平均延迟:

redis-cli --latency -h 服务器IP -p 6379

示例输出:

min: 0, max: 10, avg: 1.2 (单位:毫秒)

(2)持续监控延迟(动态刷新):

redis-cli --latency-history -h 服务器IP -p 6379

用途:快速定位网络或 Redis 响应延迟问题。


方法 3:使用监控工具(生产环境推荐)

手动执行命令适合临时排查问题,但生产环境建议使用专业监控工具,实现自动化、可视化与告警。

(1)Prometheus + Grafana(开源方案)

  • Prometheus:定时拉取 Redis 指标(通过 redis_exporter)。

  • Grafana:可视化 Redis 指标,支持仪表盘与告警。

步骤:
  1. 在云服务器上部署 redis_exporter(Redis 指标采集器):

# 下载并运行 redis_exporter(以 Linux 为例)
wget https://github.com/oliver006/redis_exporter/releases/download/v1.40.0/redis_exporter-v1.40.0.linux-amd64.tar.gz
tar -xzf redis_exporter-v1.40.0.linux-amd64.tar.gz
cd redis_exporter-v1.40.0.linux-amd64
./redis_exporter --redis.addr=redis://localhost:6379

  1. 配置 Prometheus 采集 redis_exporter 的指标(修改 prometheus.yml):

scrape_configs:
  - job_name: 'redis'
    static_configs:
      - targets: ['服务器IP:9121']  # redis_exporter 默认端口 9121
  1. 在 Grafana 中导入 Redis 仪表盘(ID:763 或 11831)。

优点:免费、灵活、可扩展,适合中小型集群。


(2)云服务商提供的监控工具(适合云数据库用户)

如果你使用的是云数据库 Redis(如阿里云 RDS for Redis、腾讯云 CRedis、AWS ElastiCache),通常云平台已内置监控功能:

  • 阿里云:控制台 → Redis 实例 → 监控与报警

  • 腾讯云:控制台 → Redis → 监控

  • AWS:CloudWatch → ElastiCache

优点:开箱即用,无需额外部署,支持自动告警。


(3)商业监控工具(适合企业级需求)

  • Datadog:支持 Redis 深度监控与告警。

  • New Relic:提供应用与数据库性能分析。

  • Zabbix:开源企业级监控系统,支持 Redis 插件。


三、优化建议:基于监控结果的行动

通过监控发现性能问题后,可针对性优化:

问题可能原因优化措施
内存使用过高大 Key、未设置 TTL、缓存堆积使用 MEMORY USAGE 分析大 Key;设置过期时间;清理无用数据
QPS 过高热点 Key、缓存击穿使用分布式锁、热点数据分片、本地缓存
延迟升高网络抖动、慢查询、CPU 瓶颈优化慢查询;升级服务器配置;使用集群分担负载
连接数过多客户端未复用连接使用连接池;限制最大连接数(maxclients)
持久化阻塞RDB/AOF 配置不合理调整 save 规则;使用 appendfsync everysec

四、总结:Redis 性能监控方案

方案适用场景优点缺点
INFO + SLOWLOG临时排查、开发测试无需额外工具,快速获取指标手动操作,无法长期存储与可视化
redis-cli --latency延迟测试简单直接无法监控其他指标
Prometheus + Grafana生产环境、开源方案自动化、可视化、可扩展需要部署与维护
云服务商监控云数据库用户开箱即用、集成告警功能可能受限
商业工具企业级需求功能全面、专业支持成本较高


不容错过
Powered By TOPYUN 云产品资讯