Redis `INFO` 命令:全面监控 Redis 实例状态与性能指标

各位好,今天咱们来聊聊 Redis 里的“情报中心”—— INFO 命令。这个命令就像是 Redis 实例的健康报告,或者说是它的体检报告,能告诉你 Redis 现在身体怎么样,有没有什么潜在的健康问题。掌握了 INFO 命令,你就相当于拥有了透视 Redis 内部状态的能力,调优、排错、监控,都离不开它。

咱们先来一睹 INFO 命令的芳容。

INFO 命令:一窥 Redis 全貌

最简单的用法就是直接输入 INFO,它会返回一大坨信息,包含各种各样的指标,简直是信息爆炸。

INFO

输出结果类似下面这样 (省略了部分内容,毕竟全贴出来太长了):

# Server
redis_version:7.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d865b798d3f94a88
redis_mode:standalone
os:Linux 5.4.0-150-generic x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:9.4.0
process_id:1
process_supervised:no
run_id:1234567890abcdef1234567890abcdef12345678
tcp_port:6379
server_time_usec:1678886400000000
uptime_in_seconds:86400
uptime_in_days:1
hz:10
lru_clock:1680000
executable:/usr/local/bin/redis-server
config_file:/etc/redis/redis.conf
io_threads_mode:off
...

# Clients
connected_clients:10
client_recent_max_input_buffer:2048
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0

# Memory
used_memory:1048576
used_memory_human:1MB
used_memory_rss:2097152
used_memory_rss_human:2MB
used_memory_peak:1048576
used_memory_peak_human:1MB
used_memory_peak_perc:100.00%
used_memory_overhead:524288
used_memory_startup:524288
used_memory_dataset:524288
used_memory_dataset_perc:50.00%
allocator_allocated:1048576
allocator_active:2097152
allocator_resident:2097152
total_system_memory:16777216
total_system_memory_human:16MB
used_memory_lua:32768
used_memory_lua_human:32K
used_memory_scripts:0
used_memory_scripts_human:0B
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:2.00
allocator_frag_bytes:1048576
allocator_rss_ratio:2.00
allocator_rss_bytes:1048576
rss_overhead_ratio:1.00
rss_overhead_bytes:0
mem_fragmentation_ratio:2.00
mem_fragmentation_bytes:1048576
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_total_replication_buffers:0
mem_clients_slaves:0
mem_clients_normal:0
mem_aof_buffer:0
mem_allocator:jemalloc-5.2.1
active_defrag_running:0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1678800000
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:1
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_append_only_fsync:everysec
aof_current_size:0
aof_base_size:0
aof_pending_rewrite:0
aof_rewrite_buffer_length:0
aof_pending_bio_fsync:0
aof_pending_fsync:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

# Stats
total_connections_received:100
total_commands_processed:1000
instantaneous_ops_per_sec:10
instantaneous_input_kbps:1.00
instantaneous_output_kbps:2.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:10
evicted_keys:0
keyspace_hits:100
keyspace_misses:10
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:1000
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

# Replication
role:master
connected_slaves:0
master_replid:1234567890abcdef1234567890abcdef12345678
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:1.00
used_cpu_user:2.00
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Keyspace
db0:keys=100,expires=10,avg_ttl=1000

# Cluster
cluster_enabled:0

# Modules

化繁为简:Sections 的妙用

面对如此海量的信息,是不是有点晕? 别慌,Redis 早就为我们考虑到了,它提供了 INFO 命令的 Sections 功能,可以让你只查看特定部分的信息。

INFO [section]

其中 section 可以是以下值:

  • server: 关于 Redis 服务器的一般信息。
  • clients: 关于客户端连接的信息。
  • memory: 关于内存使用的信息。
  • persistence: 关于持久化的信息(RDB 和 AOF)。
  • stats: 关于一般统计的信息。
  • replication: 关于复制的信息。
  • cpu: 关于 CPU 使用的信息。
  • keyspace: 关于数据库的信息。
  • cluster: 关于集群的信息。
  • modules: 关于模块的信息。
  • all: 返回所有信息。 (默认)
  • default: 返回默认信息 (server, clients, memory, persistence, stats, replication, cpu, keyspace)

例如,只想查看内存信息,可以这样:

INFO memory

这样输出的结果就只包含 Memory Section 的内容了,是不是清爽多了?

深入解读:各个 Section 的关键指标

接下来,咱们逐个 Section 详细解读,看看每个 Section 里都有哪些重要的指标,以及它们代表的含义。

1. Server Section

这个 Section 包含了 Redis 服务器的基本信息。

指标 含义 重要性
redis_version Redis 服务器的版本号。
redis_mode Redis 服务器的运行模式,可以是 standalone(单机模式) 或 cluster(集群模式)。
os 操作系统。
arch_bits 操作系统架构位数。
process_id Redis 服务器的进程 ID。
uptime_in_seconds Redis 服务器的运行时间,以秒为单位。
uptime_in_days Redis 服务器的运行时间,以天为单位。
hz Redis 服务器每秒执行的操作数。这个值越高,表示 Redis 服务器的响应速度越快。
lru_clock LRU 时钟,用于近似 LRU 算法。
executable Redis 服务器可执行文件的路径。
config_file Redis 服务器配置文件的路径。
tcp_port Redis 服务器监听的 TCP 端口。

2. Clients Section

这个 Section 包含了客户端连接的信息。

指标 含义 重要性
connected_clients 当前连接到 Redis 服务器的客户端数量。
client_recent_max_input_buffer 客户端最近一次输入缓冲区的最大值。
client_recent_max_output_buffer 客户端最近一次输出缓冲区的最大值。
blocked_clients 因为 BLPOPBRPOP 等阻塞命令而阻塞的客户端数量。
tracking_clients 使用客户端跟踪功能的客户端数量。
clients_in_timeout_table 由于空闲超时而等待关闭的客户端数量。

connected_clients 太高可能意味着你的 Redis 连接数达到了瓶颈,需要考虑优化连接池配置或者客户端连接方式。blocked_clients 较高则可能意味着你的阻塞操作过多,影响了 Redis 的响应速度。

3. Memory Section

这个 Section 包含了 Redis 服务器的内存使用信息。这是最重要的 Section 之一,直接关系到 Redis 的性能和稳定性。

| 指标 | 含义 0



`used_memory` 是 Redis 实际使用的内存量,`used_memory_peak` 是 Redis 使用的内存峰值。  `maxmemory` 是 Redis 配置的最大内存限制。如果 `used_memory` 接近 `maxmemory`,就意味着 Redis 内存即将耗尽,可能会触发 OOM (Out Of Memory) 错误,或者触发配置的淘汰策略(比如LRU)。

`mem_fragmentation_ratio` 是内存碎片率,这个值越高,表示内存碎片越多。正常情况下,这个值应该接近 1。如果这个值远大于 1 (比如大于 1.5),就意味着 Redis 存在严重的内存碎片问题,可能会导致性能下降。

`used_memory_overhead`: Redis 为了维护自身数据结构,比如哈希表、链表等,所消耗的内存。这个值越小越好。

`used_memory_dataset`: 存储实际数据的内存大小。

**内存优化建议:**

*   **合理设置 `maxmemory`:**  根据服务器的实际内存情况,设置一个合理的 `maxmemory` 值,防止 Redis 占用过多内存,影响其他应用程序的运行。
*   **选择合适的淘汰策略:**  如果 Redis 内存不足,需要配置淘汰策略,选择合适的淘汰策略可以保证 Redis 的性能和数据的完整性。常见的淘汰策略有 LRU (Least Recently Used)、LFU (Least Frequently Used)、Random 等。
*   **避免键值对过大:**  尽量避免存储过大的键值对,可以将大的键值对拆分成多个小的键值对。
*   **定期清理过期数据:**  定期清理过期数据可以释放内存空间。
*   **使用 Redis 4.0+ 的 `lazyfree` 机制:** 对于删除操作,使用异步释放内存的 `lazyfree` 机制可以减少阻塞,提高 Redis 的响应速度。

**4. Persistence Section**

这个 Section 包含了 Redis 持久化的信息,包括 RDB (Redis Database) 和 AOF (Append Only File)。

| 指标                      | 含义                                                                                                                                                                                                                                                                                                                                                                                                                          | 重要性 |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---- |
| `loading`                 | Redis 是否正在加载持久化文件。                                                                                                                                                                                                                                                                                                                                                                                            | 高   |
| `rdb_changes_since_last_save` | 自上次 RDB 持久化以来,数据发生变化的次数。                                                                                                                                                                                                                                                                                                                                                                                         | 中   |
| `rdb_bgsave_in_progress`  | 是否正在进行 RDB 后台持久化。                                                                                                                                                                                                                                                                                                                                                                                            | 高   |
| `rdb_last_save_time`      | 上次 RDB 持久化的时间戳。                                                                                                                                                                                                                                                                                                                                                                                           | 中   |
| `rdb_last_bgsave_status`  | 上次 RDB 后台持久化的状态,`ok` 表示成功,`err` 表示失败。                                                                                                                                                                                                                                                                                                                                                                                 | 高   |
| `aof_enabled`             | AOF 是否启用。                                                                                                                                                                                                                                                                                                                                                                                              | 高   |
| `aof_rewrite_in_progress` | 是否正在进行 AOF 重写。                                                                                                                                                                                                                                                                                                                                                                                            | 高   |
| `aof_rewrite_scheduled`   | AOF 重写是否被调度。                                                                                                                                                                                                                                                                                                                                                                                            | 中   |
| `aof_append_only_fsync`   | AOF 的 `fsync` 策略,可以是 `always`(每次写命令都同步到磁盘)、`everysec`(每秒同步一次到磁盘) 或 `no`(由操作系统决定何时同步到磁盘)。                                                                                                                                                                                                                                                                                                                                                         | 高   |

如果 `rdb_bgsave_in_progress` 或 `aof_rewrite_in_progress` 持续为 1,意味着 Redis 正在进行大量的持久化操作,可能会影响 Redis 的性能。 应该关注 `rdb_last_bgsave_status` 和 `aof_last_bgrewrite_status`,确保持久化操作是成功的。

**5. Stats Section**

这个 Section 包含了 Redis 服务器的统计信息。

| 指标                        | 含义                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注