# Info

获取 Redis 服务器的各种信息和统计数值

语法

INFO [section [section ...]]
  • 可用版本:

    1.0.0

  • 时间复杂度:

    O(1)

  • ACL 类别:

    @slow, @dangerous

INFO命令以计算机易于解析且人类易于阅读的格式返回有关服务器的信息和统计信息。

可选参数可用于选择特定的信息部分:

  • server: Redis 服务器的一般信息
  • clients:客户端连接部分
  • memory: 内存消耗相关信息
  • persistence:RDB和AOF相关信息
  • stats: 一般统计
  • replication:主/副本复制信息
  • cpu:CPU消耗统计
  • commandstats: Redis 命令统计
  • latencystats: Redis 命令延迟百分位分布统计
  • cluster: Redis 集群部分
  • modules: 模块部分
  • keyspace: 数据库相关统计
  • modules: 模块相关部分
  • errorstats: Redis 错误统计

它还可以采用以下值:

  • all:返回所有部分(不包括模块生成的部分)
  • default:仅返回默认的部分集
  • everything: 包括allmodules

如果未提供参数,default则假定该选项。

# 返回

批量字符串回复:作为文本行的集合。

行可以包含部分名称(以 # 字符开头)或属性。所有的属性都是由field:value终止的形式\r\n

redis> INFO
"# Server
redis_version:7.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:383256aa4e712b9d
redis_mode:standalone
os:Linux 5.13.0-1017-aws x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:10.2.1
process_id:1
process_supervised:no
run_id:28bf0201395c84d589c1adf8a5225104e3ddbbd2
tcp_port:6379
server_time_usec:1664096309288395
uptime_in_seconds:249207
uptime_in_days:2
hz:10
configured_hz:10
lru_clock:3151925
executable:/data/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0

# Clients
connected_clients:2
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:8
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0

# Memory
used_memory:17414440
used_memory_human:16.61M
used_memory_rss:23871488
used_memory_rss_human:22.77M
used_memory_peak:17432320
used_memory_peak_human:16.62M
used_memory_peak_perc:99.90%
used_memory_overhead:4902064
used_memory_startup:863512
used_memory_dataset:12512376
used_memory_dataset_perc:75.60%
allocator_allocated:17536336
allocator_active:18444288
allocator_resident:21512192
total_system_memory:16585785344
total_system_memory_human:15.45G
used_memory_lua:31744
used_memory_vm_eval:31744
used_memory_lua_human:31.00K
used_memory_scripts_eval:0
number_of_cached_scripts:0
number_of_functions:0
number_of_libraries:0
used_memory_vm_functions:32768
used_memory_vm_total:64512
used_memory_vm_total_human:63.00K
used_memory_functions:184
used_memory_scripts:184
used_memory_scripts_human:184B
maxmemory:4294967296
maxmemory_human:4.00G
maxmemory_policy:allkeys-lru
allocator_frag_ratio:1.05
allocator_frag_bytes:907952
allocator_rss_ratio:1.17
allocator_rss_bytes:3067904
rss_overhead_ratio:1.11
rss_overhead_bytes:2359296
mem_fragmentation_ratio:1.37
mem_fragmentation_bytes:6479344
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_total_replication_buffers:0
mem_clients_slaves:0
mem_clients_normal:3600
mem_cluster_links:0
mem_aof_buffer:0
mem_allocator:jemalloc-5.2.1
active_defrag_running:0
lazyfree_pending_objects:0
lazyfreed_objects:0

# Persistence
loading:0
async_loading:0
current_cow_peak:0
current_cow_size:0
current_cow_size_age:0
current_fork_perc:0.00
current_save_keys_processed:0
current_save_keys_total:0
rdb_changes_since_last_save:195777
rdb_bgsave_in_progress:0
rdb_last_save_time:1663847102
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
rdb_saves:0
rdb_last_cow_size:0
rdb_last_load_keys_expired:0
rdb_last_load_keys_loaded:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_rewrites:0
aof_rewrites_consecutive_failures:0
aof_last_write_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

# Stats
total_connections_received:243
total_commands_processed:245059
instantaneous_ops_per_sec:0
total_net_input_bytes:19397773
total_net_output_bytes:6535396
total_net_repl_input_bytes:0
total_net_repl_output_bytes:0
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
instantaneous_input_repl_kbps:0.00
instantaneous_output_repl_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:5719
expired_stale_perc:0.00
expired_time_cap_reached_count:0
expire_cycle_cpu_milliseconds:15151
evicted_keys:0
evicted_clients:0
total_eviction_exceeded_time:0
current_eviction_exceeded_time:0
keyspace_hits:52153
keyspace_misses:5991
pubsub_channels:0
pubsub_patterns:0
pubsubshard_channels:0
latest_fork_usec:0
total_forks:0
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
total_active_defrag_time:0
current_active_defrag_time:0
tracking_total_keys:0
tracking_total_items:0
tracking_total_prefixes:0
unexpected_error_replies:0
total_error_replies:479
dump_payload_sanitizations:0
total_reads_processed:245466
total_writes_processed:245224
io_threaded_reads_processed:0
io_threaded_writes_processed:0
reply_buffer_shrinks:939
reply_buffer_expands:708

# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:650750170b0041e7597cc9f94f9af7124494c514
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:184.940825
used_cpu_user:240.415998
used_cpu_sys_children:0.003435
used_cpu_user_children:0.001329
used_cpu_sys_main_thread:184.899192
used_cpu_user_main_thread:240.366716

# Modules

# Errorstats
errorstat_ERR:count=279
errorstat_EXECABORT:count=1
errorstat_NOPERM:count=162
errorstat_WRONGTYPE:count=37

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=74492,expires=186,avg_ttl=31512946846890
"
redis> 

# 笔记

请注意,根据 Redis 的版本,某些字段已被添加或删除。因此,一个健壮的客户端应用程序应该通过跳过未知属性来解析这个命令的结果,并优雅地处理丢失的字段。

这是 Redis >= 2.4 的字段说明。

以下是服务器部分中所有字段的含义:

  • redis_version: Redis 服务器的版本
  • redis_git_sha1:Git SHA1
  • redis_git_dirty: Git 脏标志
  • redis_build_id:构建ID
  • redis_mode:服务器的模式(“独立”、“哨兵”或“集群”)
  • os: 托管 Redis 服务器的操作系统
  • arch_bits:架构(32 或 64 位)
  • multiplexing_api: Redis 使用的事件循环机制
  • atomicvar_api: Redis 使用的 Atomicvar API
  • gcc_version: 用于编译 Redis 服务器的 GCC 编译器版本
  • process_id: 服务器进程的PID
  • process_supervised:受监督的系统(“upstart”、“systemd”、“unknown”或“no”)
  • run_id: 标识 Redis 服务器的随机值(由 Sentinel 和 Cluster 使用)
  • tcp_port: TCP/IP 监听端口
  • server_time_usec:基于纪元的系统时间,精度为微秒
  • uptime_in_seconds: Redis 服务器启动后的秒数
  • uptime_in_days:以天为单位表示的相同值
  • hz:服务器当前频率设置
  • configured_hz:服务器配置的频率设置
  • lru_clock:时钟每分钟递增一次,用于 LRU 管理
  • executable: 服务器可执行文件的路径
  • config_file: 配置文件的路径
  • io_threads_active: 指示 I/O 线程是否处于活动状态的标志
  • shutdown_in_milliseconds:副本在完成关闭序列之前赶上复制的最长时间。该字段仅在关机期间出现。

以下是客户端部分中所有字段的含义:

  • connected_clients: 客户端连接数(不包括来自副本的连接)
  • cluster_connections:集群总线使用的套接字数量的近似值
  • maxclientsmaxclients配置指令的值。connected_clients这是 和之connected_slaves和 的上限cluster_connections
  • client_recent_max_input_buffer: 当前客户端连接中最大的输入缓冲区
  • client_recent_max_output_buffer: 当前客户端连接中最大的输出缓冲区
  • blocked_clients: 等待阻塞调用的客户端数量 ( BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BZPOPMIN, BZPOPMAX)
  • tracking_clients: 被跟踪的客户数量 (CLIENT TRACKING)
  • clients_in_timeout_table: 客户端超时表中的客户端数量

以下是内存部分中所有字段的含义:

  • used_memory: Redis 使用其分配器分配的总字节数(标准libcjemalloc或替代分配器,例如tcmalloc
  • used_memory_human:以前值的人类可读表示
  • used_memory_rss:操作系统看到的 Redis 分配的字节数(也称为驻留集大小)。这是由工具报告的数字,例如top(1)ps(1)
  • used_memory_rss_human:以前值的人类可读表示
  • used_memory_peak: Redis 消耗的峰值内存(以字节为单位)
  • used_memory_peak_human:以前值的人类可读表示
  • used_memory_peak_perc:used_memory_peak出来 的百分比used_memory
  • used_memory_overhead:服务器分配用于管理其内部数据结构的所有开销的总和(以字节为单位)
  • used_memory_startup: Redis 在启动时消耗的初始内存量(以字节为单位)
  • used_memory_dataset:数据集的大小(以字节为单位)(used_memory_overhead减去used_memory
  • used_memory_dataset_perc``used_memory_dataset:超出净内存使用的百分比(used_memoryused_memory_startup
  • total_system_memory: Redis 主机拥有的内存总量
  • total_system_memory_human:以前值的人类可读表示
  • used_memory_lua: Lua 引擎使用的字节数
  • used_memory_lua_human:以前值的人类可读表示
  • used_memory_scripts: 缓存 Lua 脚本使用的字节数
  • used_memory_scripts_human:以前值的人类可读表示
  • maxmemory:maxmemory配置指令的值
  • maxmemory_human:以前值的人类可读表示
  • maxmemory_policy:maxmemory-policy配置指令的值
  • mem_fragmentation_ratio``used_memory_rss:和之间的比率used_memory。请注意,这不仅包括碎片,还包括其他进程开销(参见allocator_*指标),以及代码、共享库、堆栈等开销。
  • mem_fragmentation_bytes``used_memory_rss:和之间的差值used_memory。请注意,当总分片字节数较低(几兆字节)时,较高的比率(例如 1.5 及以上)并不表示存在问题。
  • allocator_frag_ratio:``allocator_active:和之间的比率allocator_allocated。这是真正的(外部)碎片度量(不是mem_fragmentation_ratio)。
  • allocator_frag_bytes``allocator_active和之间的增量allocator_allocated。请参阅关于mem_fragmentation_bytes.
  • allocator_rss_ratio``allocator_resident:和之间的比率allocator_active。这通常表明分配器可以并且可能很快将释放回操作系统的页面。
  • allocator_rss_bytes``allocator_resident:和之间的差值allocator_active
  • rss_overhead_ratio``used_memory_rss: (进程 RSS) 和之间的比率allocator_resident。这包括与分配器或堆无关的 RSS 开销。
  • rss_overhead_bytes: used_memory_rss(进程 RSS)和allocator_resident
  • allocator_allocated:从分配器分配的总字节数,包括内部碎片。通常与used_memory.
  • allocator_active:分配器活动页面中的总字节数,这包括外部碎片。
  • allocator_resident: 分配器中驻留的总字节数 (RSS),这包括可以释放到操作系统的页面(通过MEMORY PURGE,或只是等待)。
  • mem_not_counted_for_evict: 使用的内存不计入键逐出。这基本上是瞬态副本和 AOF 缓冲区。
  • mem_clients_slaves: 副本客户端使用的内存 - 从 Redis 7.0 开始,副本缓冲区与复制积压共享内存,因此当副本不触发内存使用量增加时,此字段可以显示 0。
  • mem_clients_normal: 普通客户端使用的内存
  • mem_cluster_links:启用集群模式时,链接到集群总线上的对等点所使用的内存。
  • mem_aof_buffer: 用于 AOF 和 AOF 重写缓冲区的瞬态内存
  • mem_replication_backlog:复制积压使用的内存
  • mem_total_replication_buffers:复制缓冲区消耗的总内存 - 在 Redis 7.0 中添加。
  • mem_allocator:内存分配器,在编译时选择。
  • active_defrag_runningactivedefrag启用时,这表明碎片整理当前是否处于活动状态,以及它打算使用的 CPU 百分比。
  • lazyfree_pending_objects: 等待释放的对象数(调用UNLINK或使用ASYNC 选项FLUSHDB的结果)FLUSHALL
  • lazyfreed_objects: 已被延迟释放的对象数。

理想情况下,该used_memory_rss值应仅略高于 used_memory. 当使用 rss >> 时,较大的差异可能意味着存在(外部)内存碎片,可以通过检查 allocator_frag_ratio,来评估allocator_frag_bytes。当使用 >> rss 时,这意味着部分 Redis 内存已被操作系统交换掉:预计会有一些显着的延迟。

由于 Redis 无法控制其分配如何映射到内存页面,因此高used_memory_rss通常是内存使用量激增的结果。

当 Redis 释放内存时,内存会归还给分配器,分配器可能会将内存还给系统,也可能不会。used_memory操作系统报告的值和内存消耗之间可能存在差异。这可能是由于内存已被 Redis 使用和释放,但没有归还给系统。该 used_memory_peak值通常对检查这一点很有用。

通过参考MEMORY STATS命令和MEMORY DOCTOR.

以下是持久性部分中所有字段的含义:

  • loading: 指示转储文件的加载是否正在进行的标志
  • async_loading:当前在提供旧数据时异步加载复制数据集。这意味着repl-diskless-load启用并设置为swapdb。在 Redis 7.0 中添加。
  • current_cow_peak:子叉子运行时写入时复制内存的峰值大小(以字节为单位)
  • current_cow_size:子叉子运行时写入时复制内存的大小(以字节为单位)
  • current_cow_size_age:值的年龄,以秒为单位current_cow_size
  • current_fork_perc:当前fork进程的进度百分比。对于 AOF 和 RDB 分叉,它是current_save_keys_processedout of的百分比current_save_keys_total
  • current_save_keys_processed:当前保存操作处理的键数
  • current_save_keys_total:当前保存操作开始时的键数
  • rdb_changes_since_last_save:自上次转储以来的更改次数
  • rdb_bgsave_in_progress: 指示 RDB 保存正在进行的标志
  • rdb_last_save_time: 最后一次成功 RDB 保存的基于 Epoch 的时间戳
  • rdb_last_bgsave_status: 上次 RDB 保存操作的状态
  • rdb_last_bgsave_time_sec:最后一次 RDB 保存操作的持续时间(以秒为单位)
  • rdb_current_bgsave_time_sec: 正在进行的 RDB 保存操作的持续时间(如果有)
  • rdb_last_cow_size: 上次 RDB 保存操作期间的写时复制内存大小(以字节为单位)
  • rdb_last_load_keys_expired: 上次加载 RDB 期间删除的易失性键的数量。在 Redis 7.0 中添加。
  • rdb_last_load_keys_loaded: 上次加载 RDB 期间加载的键数。在 Redis 7.0 中添加。
  • aof_enabled:指示 AOF 日志记录已激活的标志
  • aof_rewrite_in_progress: 指示 AOF 重写操作正在进行的标志
  • aof_rewrite_scheduled:一旦正在进行的 RDB 保存完成,将安排指示 AOF 重写操作的标志。
  • aof_last_rewrite_time_sec:最后一次 AOF 重写操作的持续时间(以秒为单位)
  • aof_current_rewrite_time_sec:正在进行的 AOF 重写操作的持续时间(如果有)
  • aof_last_bgrewrite_status: 上一次 AOF 重写操作的状态
  • aof_last_write_status: 对 AOF 的最后一次写操作的状态
  • aof_last_cow_size:最后一次 AOF 重写操作期间的写时复制内存的大小(以字节为单位)
  • module_fork_in_progress:指示模块分叉正在进行的标志
  • module_fork_last_cow_size:在最后一个模块分叉操作期间,写时复制内存的大小(以字节为单位)
  • aof_rewrites: 自启动以来执行的 AOF 重写次数
  • rdb_saves: 自启动以来执行的 RDB 快照数

rdb_changes_since_last_save``SAVE指自上次调用或 BGSAVE调用以来在数据集中产生某种变化的操作数。

如果激活 AOF,将添加这些附加字段:

  • aof_current_size: AOF 当前文件大小
  • aof_base_size: 最近启动或重写时的 AOF 文件大小
  • aof_pending_rewrite:一旦正在进行的 RDB 保存完成,将安排指示 AOF 重写操作的标志。
  • aof_buffer_length: AOF 缓冲区的大小
  • aof_rewrite_buffer_length:AOF 重写缓冲区的大小。请注意,此字段在 Redis 7.0 中已删除
  • aof_pending_bio_fsync: 后台 I/O 队列中 fsync 挂起的作业数
  • aof_delayed_fsync: 延迟 fsync 计数器

如果加载操作正在进行,将添加以下附加字段:

  • loading_start_time:加载操作开始的基于纪元的时间戳
  • loading_total_bytes:总文件大小
  • loading_rdb_used_mem: 文件创建时已生成 RDB 文件的服务器的内存使用情况
  • loading_loaded_bytes: 已加载的字节数
  • loading_loaded_perc: 相同的值以百分比表示
  • loading_eta_seconds: 以秒为单位的 ETA 加载完成

以下是stats部分中所有字段的含义:

  • total_connections_received: 服务器接受的连接总数
  • total_commands_processed: 服务器处理的命令总数
  • instantaneous_ops_per_sec:每秒处理的命令数
  • total_net_input_bytes: 从网络读取的总字节数
  • total_net_output_bytes: 写入网络的总字节数
  • total_net_repl_input_bytes:出于复制目的从网络读取的总字节数
  • total_net_repl_output_bytes:为复制目的而写入网络的总字节数
  • instantaneous_input_kbps:每秒网络的读取速率,以 KB/sec 为单位
  • instantaneous_output_kbps: 网络每秒的写入速率,以 KB/sec 为单位
  • instantaneous_input_repl_kbps:用于复制目的的网络每秒读取速率(以 KB/秒为单位)
  • instantaneous_output_repl_kbps:用于复制目的的网络每秒写入速率(以 KB/秒为单位)
  • rejected_connections: 由于 maxclients限制而被拒绝的连接数
  • sync_full:与副本完全重新同步的次数
  • sync_partial_ok:接受的部分重新同步请求的数量
  • sync_partial_err: 被拒绝的部分重新同步请求的数量
  • expired_keys: 密钥过期事件总数
  • expired_stale_perc: 密钥可能过期的百分比
  • expired_time_cap_reached_count:活动到期周期提前停止的次数
  • expire_cycle_cpu_milliseconds:在有效到期周期上花费的累计时间量
  • evicted_keys: 由于maxmemory限制而被驱逐的键的数量
  • evicted_clients:由于maxmemory-clients限制而被驱逐的客户数量。在 Redis 7.0 中添加。
  • total_eviction_exceeded_time: 总时间used_memory大于maxmemory自服务器启动以来,以毫秒为单位
  • current_eviction_exceeded_time: 自used_memory上次升到以上所经过的时间maxmemory,以毫秒为单位
  • keyspace_hits: 在主字典中成功查找键的次数
  • keyspace_misses: 在主字典中查找键失败的次数
  • pubsub_channels:具有客户端订阅的全球发布/订阅频道数量
  • pubsub_patterns:具有客户端订阅的全球发布/订阅模式数量
  • pubsubshard_channels:具有客户端订阅的 pub/sub 分片通道的全球数量。在 Redis 7.0.3 中添加
  • latest_fork_usec: 最近一次分叉操作的持续时间,以微秒为单位
  • total_forks: 自服务器启动以来的 fork 操作总数
  • migrate_cached_sockets``MIGRATE: 为目的打开的套接字数量
  • slave_expires_tracked_keys:为过期目的而跟踪的密钥数量(仅适用于可写副本)
  • active_defrag_hits:由活跃的碎片整理过程执行的值重新分配的数量
  • active_defrag_misses:活动碎片整理进程启动的中止值重新分配的数量
  • active_defrag_key_hits:积极进行碎片整理的密钥数
  • active_defrag_key_misses:活动碎片整理过程跳过的键数
  • total_active_defrag_time: 内存碎片超过限制的总时间,以毫秒为单位
  • current_active_defrag_time: 自上次内存碎片超过限制以来经过的时间,以毫秒为单位
  • tracking_total_keys:服务器正在跟踪的密钥数
  • tracking_total_items:正在跟踪的项目数,即每个键的客户数之和
  • tracking_total_prefixes: 服务器前缀表中跟踪的前缀数(仅适用于广播模式)
  • unexpected_error_replies:意外错误回复的数量,即来自 AOF 加载或复制的错误类型
  • total_error_replies: 发出的错误回复总数,即被拒绝的命令(命令执行前的错误)和失败的命令(命令执行中的错误)的总和
  • dump_payload_sanitizations:转储有效负载深度完整性验证的总数(请参阅sanitize-dump-payload配置)。
  • total_reads_processed:处理的读取事件总数
  • total_writes_processed: 处理的写事件总数
  • io_threaded_reads_processed: 主线程和 I/O 线程处理的读取事件数
  • io_threaded_writes_processed: 主线程和 I/O 线程处理的写事件数

以下是复制部分中所有字段的含义:

  • role:如果实例是无人副本,则值为“master”,如果实例是某个主实例的副本,则值为“slave”。请注意,一个副本可以是另一个副本的主副本(链式复制)。
  • master_failover_state:正在进行的故障转移的状态(如果有)。
  • master_replid: Redis 服务器的复制 ID。
  • master_replid2:辅助复制 ID,用于故障转移后的 PSYNC。
  • master_repl_offset: 服务器当前的复制偏移量
  • second_repl_offset: 接受复制 ID 的偏移量
  • repl_backlog_active:指示复制积压工作的标志
  • repl_backlog_size:复制积压缓冲区的总大小(以字节为单位)
  • repl_backlog_first_byte_offset:复制积压缓冲区的主偏移量
  • repl_backlog_histlen:复制积压缓冲区中数据的大小(以字节为单位)

如果实例是副本,则提供以下附加字段:

  • master_host:主机的主机或IP地址
  • master_port: 主监听 TCP 端口
  • master_link_status:链接状态(上/下)
  • master_last_io_seconds_ago: 自上次与 master 交互以来的秒数
  • master_sync_in_progress:表示master正在同步到replica
  • slave_read_repl_offset:副本实例的读取复制偏移量。
  • slave_repl_offset:副本实例的复制偏移量
  • slave_priority: 实例作为故障转移候选者的优先级
  • slave_read_only: 指示副本是否为只读的标志
  • replica_announced: 指示副本是否由 Sentinel 宣布的标志。

如果 SYNC 操作正在进行,则提供以下附加字段:

  • master_sync_total_bytes:需要传输的字节总数。这可能是 0 当大小未知时(例如,当使用repl-diskless-sync配置指令时)
  • master_sync_read_bytes:已传输的字节数
  • master_sync_left_bytes:同步完成前剩余的字节数(为0时可能为负master_sync_total_bytes
  • master_sync_perc: 的百分比master_sync_read_bytesmaster_sync_total_bytes或使用 loading_rdb_used_memwhen的近似值master_sync_total_bytes为 0
  • master_sync_last_io_seconds_ago: SYNC 操作期间自上次传输 I/O 以来的秒数

如果 master 和 replica 之间的链接断开,则提供一个附加字段:

  • master_link_down_since_seconds: 自链接断开以来的秒数

始终提供以下字段:

  • connected_slaves: 连接的副本数

如果服务器配置了min-slaves-to-write(或从 Redis 5 开始带有min-replicas-to-write)指令,则提供一个附加字段:

  • min_slaves_good_slaves:当前认为好的副本数

对于每个副本,添加以下行:

  • slaveXXX: id、IP 地址、端口、状态、偏移量、滞后

以下是cpu部分中所有字段的含义:

  • used_cpu_sys:Redis服务器消耗的系统CPU,是服务器进程所有线程(主线程和后台线程)消耗的系统CPU的总和
  • used_cpu_user:Redis服务器消耗的用户CPU,是服务器进程所有线程(主线程和后台线程)消耗的用户CPU之和
  • used_cpu_sys_children:后台进程消耗的系统CPU
  • used_cpu_user_children:后台进程消耗的用户CPU
  • used_cpu_sys_main_thread:Redis服务器主线程消耗的系统CPU
  • used_cpu_user_main_thread:Redis服务器主线程消耗的用户CPU

commandstats部分提供基于命令类型的统计信息,包括到达命令执行(未拒绝)的调用次数、这些命令消耗的总 CPU 时间、每次命令执行消耗的平均 CPU、拒绝调用的次数(错误之前命令执行),以及失败的调用次数(命令执行中的错误)。

对于每种命令类型,添加以下行:

  • cmdstat_XXXcalls=XXX,usec=XXX,usec_per_call=XXX,rejected_calls=XXX,failed_calls=XXX

delaystats部分根据命令类型提供延迟百分比分布统计信息。

默认情况下,导出的延迟百分位数是 p50、p99 和 p999。如果您需要更改导出的百分位数,请使用CONFIG SET latency-tracking-info-percentiles "50.0 99.0 99.9".

此部分需要启用扩展延迟监控功能(默认情况下已启用)。如果您需要启用它,请使用CONFIG SET latency-tracking yes.

对于每种命令类型,添加以下行:

  • latency_percentiles_usec_XXX: p<percentile 1>=<percentile 1 value>,p<percentile 2>=<percentile 2 value>,...

errorstats部分可以根据回复错误前缀(“-”之后的第一个单词,直到第一个空格。示例:)来跟踪 Redis 中发生的不同错误ERR

对于每种错误类型,添加以下行:

  • errorstat_XXXcount=XXX

cluster部分目前仅包含一个唯一字段:

  • cluster_enabled: 表示启用了 Redis 集群

如果模块提供,模块部分包含有关已加载模块的附加信息。本节中属性行的字段部分始终以模块名称为前缀。

键空间部分提供每个数据库主字典的统计信息。统计信息是密钥的数量,以及过期的密钥数量。

对于每个数据库,添加以下行:

  • dbXXXkeys=XXX,expires=XXX

关于本手册页中使用的单词 slave 的说明:从 Redis 5 开始,如果不是为了向后兼容,Redis 项目不再使用单词 slave。不幸的是,在这个命令中,slave 这个词是协议的一部分,所以只有当这个 API 被自然弃用时,我们才能删除此类事件。

模块生成的部分:从 Redis 6 开始,模块可以将其信息注入INFO命令,即使all提供了参数,这些默认情况下也会被排除(它将包括已加载模块的列表,但不包括其生成的信息字段)。要获得这些,您必须使用modules参数或everything.,

# 历史

  • 从 Redis 版本 7.0.0 开始:添加了对采用多个部分参数的支持。

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM