redis cluster info字典表

以下内容摘自雪球,在公司内部的docs上的内容总结,部分隐私信息已经处理改动


https://xueqiu.com/

Redis参数 

解释

备注

tcp_port  tcp 端口   
uptime_in_seconds  自 Redis 服务器启动以来,经过的秒数   
uptime_in_days   自 Redis 服务器启动以来,经过的天数   
blocked_clients  正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量   
aof_rewrite_scheduled  标识是否将要在rdb save操作结束后执行   
total_net_input_bytes  redis网络入口流量字节数   
hz  10,redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次   
redis_build_id  redis build id   
sync_partial_err  主从部分同步失败次数   
aof_last_bgrewrite_status  上次bgrewriteaof操作的状态   
multiplexing_api  epoll,redis所使用的事件处理机制   
client_biggest_input_buf  当前连接的客户端当中,最大输入缓存,用client list命令观察qbuf和qbuf-free两个字段最大值   
aof_current_rewrite_time_sec  如果rewrite操作正在进行,则记录所使用的时间,单位秒   
aof_enabled  是否开启了aof,默认不开启   
aof_current_size  aof当前大小   
master_repl_offset  主从同步偏移量 此值如果和上面的offset相同说明主从一致没延迟 
repl_backlog_first_byte_offset  复制缓冲区里偏移量的大小   
used_cpu_user  将所有redis主进程在用户态所占用的CPU时求和累计起来   
rdb_last_bgsave_status  最近一次rdb持久化是否成功   
redis_mode  cluster,运行模式,单机或者集群   
redis_git_dirty  Git dirty flag   
aof_delayed_fsync  被延迟的fsync调用数量   
repl_backlog_histlen  此值等于 master_repl_offset - repl_backlog_first_byte_offset 该值不会超过repl_backlog_size的大小 
loading  loading 状态   
evicted_keys  运行以来剔除(超过了maxmemory后)的key的数量   
cluster_enabled  实例是否启用集群模式   
redis_version  redis服务器版本   
aof_last_write_status  上次aof写入状态   
repl_backlog_active  复制积压缓冲区是否开启   
mem_allocator  在编译时指定的redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc   
detail  # Serve   
used_memory_peak  redis的内存消耗峰值(以字节为单位)    
instantaneous_ops_per_sec  redis当前的qps,redis内部较实时的每秒执行的命令数   
process_id  redis服务器进程的pid   
used_memory_human  以人类可读的格式返回redis分配的内存总量   
used_cpu_sys  将所有redis主进程在核心态所占用的CPU时求和累计起来   
role  实例的角色,是master or slave   
repl_backlog_size  复制积压缓冲大小   
connected_slaves  连接的slave实例个数   
gcc_version  编译redis时所使用的gcc版本   
sync_full  主从完全同步成功次数   
connected_clients  客户端连接数   
used_memory_lua  lua引擎所使用的内存大小(以字节为单位)   
rdb_current_bgsave_time_sec  如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数   
aof_pending_bio_fsync  后台I/O队列里面,等待执行的fsync调用数量   
total_net_output_bytes  redis网络出口流量字节数   
pubsub_channels  当前使用中的频道数量   
arch_bits  架构(32或64位)   
rdb_changes_since_last_save  离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化   
instantaneous_input_kbps  redis网络入口kps   
mem_fragmentation_ratio  used_memory_rss和used_memory之间的比率,小于1表示使用了swap,大于1表示碎片比较多   
aof_last_rewrite_time_sec  最近一次aof rewrite耗费的时长   
used_cpu_sys_children  将后台进程在核心态所占用的CPU时求和累计起来   
aof_rewrite_in_progress  标识aof的rewrite操作是否在进行中   
config_file  配置文件路径   
lru_clock  自增的时钟,用于LRU管理 该时钟100ms(hz=10,因此每1000ms/10=100ms执行一次定时任务)更新一次 
sync_partial_ok  主从部分同步成功次数   
rdb_last_save_time  离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件   
pubsub_patterns  当前使用的模式的数量   
redis_git_sha1  Git SHA1   
used_memory_rss  从操作系统的角度,返回redis已分配的内存总量(俗称常驻集大小)。这个值和top命令的输出一致   
rdb_last_bgsave_time_sec  最近一次成功生成rdb文件耗时秒数   
run_id  redis服务器的随机标识符(用于sentinel和集群)   
latest_fork_usec  最近一次fork操作阻塞redis进程的耗时数,单位微秒   
os  redis服务器的宿主操作系统   
slave0  lag从库多少秒未向主库发送REPLCONF命令   
rejected_connections  拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数   
total_commands_processed  redis处理的命令数   
expired_keys  运行以来过期的key的数量   
client_longest_output_list  当前连接的客户端当中,最长的输出列表,用client list命令观察omem字段最大值   
used_memory  由redis分配器分配的内存总量,以字节为单位   
aof_rewrite_buffer_length  aof rewrite buffer的大小   
aof_buffer_length  aof buffer的大小   
keyspace_misses  没命中次数   
aof_base_size  服务器启动时或者aof重写最近一次执行之后aof文件的大小   
instantaneous_output_kbps  redis网络出口kps   
used_memory_peak_human  以人类可读的格式返回redis的内存消耗峰值   
keyspace_hits  命中次数   
aof_pending_rewrite  是否有aof重写操作在等待rdb文件创建完毕之后执行   
rdb_bgsave_in_progress  服务器是否正在创建rdb文件   
used_cpu_user_children  将后台进程在用户态所占用的CPU时求和累计起来   
total_connections_received  新创建连接个数 如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置 
migrate_cached_sockets  0  

用客户端连接redis服务器:  redis-cli >> info  :

  • # Server(服务器信息)
      • redis_version:3.0.0                              #redis服务器版本
      • redis_git_sha1:00000000                  #Git SHA1
      • redis_git_dirty:0                                    #Git dirty flag
      • redis_build_id:6c2c390b97607ff0    #redis build id
      • redis_mode:cluster                              #运行模式,单机或者集群
      • os:Linux 2.6.32-358.2.1.el6.x86_64 x86_64 #redis服务器的宿主操作系统
      • arch_bits:64                                         #架构(32或64位)
      • multiplexing_api:epoll                        #redis所使用的事件处理机制
      • gcc_version:4.4.7                                #编译redis时所使用的gcc版本
      • process_id:12099                               #redis服务器进程的pid
      • run_id:63bcd0e57adb695ff0bf873cf42d403ddbac1565  #redis服务器的随机标识符(用于sentinel和集群)
      • tcp_port:9021                                #redis服务器监听端口
      • uptime_in_seconds:26157730   #redis服务器启动总时间,单位是秒
      • uptime_in_days:302                    #redis服务器启动总时间,单位是天
      • hz:10                                #redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次。
      • lru_clock:14359959      #自增的时钟,用于LRU管理,该时钟100ms(hz=10,因此每1000ms/10=100ms执行一次定时任务)更新一次。
  • # Clients(已连接客户端信息)
    • connected_clients:1081       #已连接客户端的数量(不包括通过slave连接的客户端)
    • client_longest_output_list:0 #当前连接的客户端当中,最长的输出列表,用client list命令观察omem字段最大值
    • client_biggest_input_buf:0   #当前连接的客户端当中,最大输入缓存,用client list命令观察qbuf和qbuf-free两个字段最大值
    • blocked_clients:0                   #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
  • # Memory(内存信息)
    • used_memory:327494024                 #由redis分配器分配的内存总量,以字节为单位
    • used_memory_human:312.32M       #以人类可读的格式返回redis分配的内存总量
    • used_memory_rss:587247616         #从操作系统的角度,返回redis已分配的内存总量(俗称常驻集大小)。这个值和top命令的输出一致
    • used_memory_peak:1866541112    #redis的内存消耗峰值(以字节为单位) 
    • used_memory_peak_human:1.74G #以人类可读的格式返回redis的内存消耗峰值
    • used_memory_lua:35840                   #lua引擎所使用的内存大小(以字节为单位)
    • mem_fragmentation_ratio:1.79          #used_memory_rss和used_memory之间的比率,小于1表示使用了swap,大于1表示碎片比较多
    • mem_allocator:jemalloc-3.6.0            #在编译时指定的redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc

在理想情况下, used_memory_rss 的值应该只比used_memory 稍微高一点儿。
当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。

Because Redis does not have control over how its allocations are mapped to memory pages, highused_memory_rss is often the result of a spike in memory usage.
当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。
查看 used_memory_peak 的值可以验证这种情况是否发生。

  • # Persistence(rdb和aof的持久化相关信息)
    • loading:0                                                    #服务器是否正在载入持久化文件
    • rdb_changes_since_last_save:28900855 #离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化
    • rdb_bgsave_in_progress:0                  #服务器是否正在创建rdb文件
    • rdb_last_save_time:1482358115        #离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件
    • rdb_last_bgsave_status:ok                   #最近一次rdb持久化是否成功
    • rdb_last_bgsave_time_sec:2                #最近一次成功生成rdb文件耗时秒数
    • rdb_current_bgsave_time_sec:-1        #如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数
    • aof_enabled:1                                          #是否开启了aof
    • aof_rewrite_in_progress:0                     #标识aof的rewrite操作是否在进行中
    • aof_rewrite_scheduled:0              

#rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite 

    • aof_last_rewrite_time_sec:-1            #最近一次aof rewrite耗费的时长
    • aof_current_rewrite_time_sec:-1      #如果rewrite操作正在进行,则记录所使用的时间,单位秒
    • aof_last_bgrewrite_status:ok             #上次bgrewriteaof操作的状态
    • aof_last_write_status:ok                     #上次aof写入状态
    • aof_current_size:4201740                 #aof当前尺寸
    • aof_base_size:4201687                    #服务器启动时或者aof重写最近一次执行之后aof文件的大小
    • aof_pending_rewrite:0                       #是否有aof重写操作在等待rdb文件创建完毕之后执行?
    • aof_buffer_length:0                             #aof buffer的大小
    • aof_rewrite_buffer_length:0              #aof rewrite buffer的大小
    • aof_pending_bio_fsync:0                  #后台I/O队列里面,等待执行的fsync调用数量
    • aof_delayed_fsync:0                          #被延迟的fsync调用数量
  • # Stats(一般统计信息)
    • total_connections_received:209561105 #新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置
    • total_commands_processed:2220123478  #redis处理的命令数
    • instantaneous_ops_per_sec:279                  #redis当前的qps,redis内部较实时的每秒执行的命令数
    • total_net_input_bytes:118515678789          #redis网络入口流量字节数
    • total_net_output_bytes:236361651271       #redis网络出口流量字节数
    • instantaneous_input_kbps:13.56                  #redis网络入口kps
    • instantaneous_output_kbps:31.33               #redis网络出口kps
    • rejected_connections:0                                   #拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数
    • sync_full:1                                                          #主从完全同步成功次数
    • sync_partial_ok:0                                             #主从部分同步成功次数
    • sync_partial_err:0                                            #主从部分同步失败次数
    • expired_keys:15598177                                #运行以来过期的key的数量
    • evicted_keys:0                                                 #运行以来剔除(超过了maxmemory后)的key的数量
    • keyspace_hits:1122202228                          #命中次数
    • keyspace_misses:577781396                     #没命中次数
    • pubsub_channels:0                                       #当前使用中的频道数量
    • pubsub_patterns:0                                         #当前使用的模式的数量
    • latest_fork_usec:15679                                 #最近一次fork操作阻塞redis进程的耗时数,单位微秒
    • migrate_cached_sockets:0                          #
  • # Replication(主从信息,master上显示的信息)
      • role:master                               #实例的角色,是master or slave
      • connected_slaves:1              #连接的slave实例个数
      • slave0:ip=192.168.64.104,port=9021,state=online,offset=6713173004,lag=0 #lag从库多少秒未向主库发送REPLCONF命令
      • master_repl_offset:6713173145  #主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟
      • repl_backlog_active:1                   #复制积压缓冲区是否开启
      • repl_backlog_size:134217728    #复制积压缓冲大小
      • repl_backlog_first_byte_offset:6578955418  #复制缓冲区里偏移量的大小
      • repl_backlog_histlen:134217728   #此值等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小
  • # Replication(主从信息,slave上显示的信息)
      • role:slave                                        #实例的角色,是master or slave
      • master_host:192.168.64.102       #此节点对应的master的ip
      • master_port:9021                          #此节点对应的master的port
      • master_link_status:up                   #slave端可查看它与master之间同步状态,当复制断开后表示down
      • master_last_io_seconds_ago:0  #主库多少秒未发送数据到从库?
      • master_sync_in_progress:0        #从服务器是否在与主服务器进行同步
      • slave_repl_offset:6713173818   #slave复制偏移量
      • slave_priority:100                          #slave优先级
      • slave_read_only:1                         #从库是否设置只读
      • connected_slaves:0                      #连接的slave实例个数
      • master_repl_offset:0         
      • repl_backlog_active:0                  #复制积压缓冲区是否开启
      • repl_backlog_size:134217728   #复制积压缓冲大小
      • repl_backlog_first_byte_offset:0 #复制缓冲区里偏移量的大小
      • repl_backlog_histlen:0           #此值等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小
  • # CPU(CPU计算量统计信息)
      • used_cpu_sys:96894.66             #将所有redis主进程在核心态所占用的CPU时求和累计起来
      • used_cpu_user:87397.39           #将所有redis主进程在用户态所占用的CPU时求和累计起来
      • used_cpu_sys_children:6.37     #将后台进程在核心态所占用的CPU时求和累计起来
      • used_cpu_user_children:52.83 #将后台进程在用户态所占用的CPU时求和累计起来
  • # Commandstats(各种不同类型的命令的执行统计信息)
    • cmdstat_get:calls=1664657469,usec=8266063320,usec_per_call=4.97  

#call每个命令执行次数,usec总共消耗的CPU时长(单位微秒),平均每次消耗的CPU时长(单位微秒)

  • # Cluster(集群相关信息)
  • cluster_enabled:1   #实例是否启用集群模式
  • # Keyspace(数据库相关的统计信息)
  • db0:keys=194690,expires=191702,avg_ttl=3607772262 #db0的key的数量,以及带有生存期的key的数,平均存活时间

除上面给出的这些值以外,参数还可以是下面这两个:

  • all : 返回所有信息
  • default : 返回默认选择的信息

当不带参数直接调用 INFO 命令时,使用 default 作为默认参数。

不同版本的 Redis 可能对返回的一些域进行了增加或删减。

因此,一个健壮的客户端程序在对 INFO 命令的输出进行分析时,应该能够跳过不认识的域,并且妥善地处理丢失不见的域。

发布了212 篇原创文章 · 获赞 68 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/singgel/article/details/104928072