Redis info详解

来源:互联网 发布:java 上传卡券图片 编辑:程序博客网 时间:2024/05/07 01:59

首先给大家总结一下几个重要的参数,然后再详细的讲解info命令输出的所有参数。

  • 1、内存使用情况
    used_memory :内存使用大小(以字节为单位)
    used_memory_human:内存使用大小(以人类可读的方式显示,例如:1.4G)
    used_memory_peak:内存消耗峰值(以字节为单位)
    used_memory_peak_human:内存消耗峰值(以人类可读的方式显示,例如:1.4G)

  • 2、带宽
    instantaneous_input_kbps:输入带宽
    instantaneous_output_kbps:输出带宽
    附:1M带宽=1Kbps=1024Kbps=128KBps,表示每秒钟传输128个字节的数据

  • 3、命中率
    keyspace_hits:命中的key的个数
    keyspace_misses:未命中的key的个数

下面给大家详细的讲解各项参数的含义:

  • server部分记录了Redis 服务器信息,包含以下域:
    redis_version : Redis 服务器版本
    redis_git_sha1 : Git SHA1
    redis_git_dirty : Git dirty flag
    os : Redis 服务器的宿主操作系统
    arch_bits : 架构(32 或 64 位)
    multiplexing_api :Redis 所使用的事件处理机制
    gcc_version : 编译 Redis 时所使用的 GCC 版本
    process_id : 服务器进程的 PID
    run_id : Redis 服务器的随机标识符(用于 Sentinel 和集群)
    tcp_port : TCP/IP 监听端口
    uptime_in_seconds : 自 Redis 服务器启动以来,经过的秒数
    uptime_in_days : 自 Redis 服务器启动以来,经过的天数
    lru_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理

  • clients部分记录了已连接客户端信息,包含以下域:
    connected_clients : 已连接客户端的数量(不包括通过从属服务器连接的客户端)
    client_longest_output_list : 当前连接的客户端当中,最长的输出列表
    client_longest_input_buf : 当前连接的客户端当中,最大输入缓存
    blocked_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量

  • memory :部分记录了内存信息,包含以下域:
    used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位
    used_memory_human : 以人类可读的格式返回 Redis 分配的内存总量
    used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。
    used_memory_peak : Redis 的内存消耗峰值(以字节为单位)
    used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值
    used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)
    mem_fragmentation_ratio : used_memory_rss 和 used_memory 之间的比率
    mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。

附:在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。
当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片,内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。
当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致,查看 used_memory_peak 的值可以验证这种情况是否发生。

  • Stats部分记录了一般的统计信息,它包含以下域:
    total_connections_received:服务器已经接受的连接请求数量
    total_commands_processed:服务器已经执行的命令数量
    instantaneous_ops_per_sec:服务器每秒中执行的命令数量
    rejected_connections:因为最大客户端数量限制而被拒绝的连接请求数量
    expired_keys:因为过期而被自动删除的数据库键数量
    evicted_keys:因为最大内存容量限制而被驱逐(evict)的键数量
    keyspace_hits:查找数据库键成功的次数
    keyspace_misses:查找数据库键失败的次数
    pubsub_channels:目前被订阅的频道数量
    pubsub_patterns:目前被订阅的模式数量
    latest_fork_usec:最近一次fork()操作耗费的时间(毫秒)

  • cpu部分记录了CPU的计算量统计信息,它包含以下域:
    used_cpu_sys:Redis服务器耗费的系统CPU
    used_cpu_user:Redis服务器耗费的用户CPU
    used_cpu_sys_children:Redis后台进程耗费的系统CPU
    used_cpu_user_children:Redis后台进程耗费的用户CPU

  • Keyspace部分记录了数据库相关的统计信息,如数据库的键数量、数据库已经被删除的过期键数量。对于每个数据库,这个部分会添加一行以下格式的信息:
    db0:keys=5850,expires=5847,avg_ttl=4368690:表示0号数据库有5850个键、已经被删除的过期键数量为5847、键到期的平均剩余时间为4368690ms

  • Replication部分记录了主从复制的信息
    role:master#在主从复制中,充当的角色。如果没有主从复制,单点的,它充当的角色也是master
    connected_slaves:1#有一个slave连接上来
    slave0:ip=14.17.119.220,port=6379,state=online,offset=718446,lag=0 #slave的IP、端口、状态等
    (1) 如果当前服务器是从服务器的话,那么这个部分还会加上以下域:
    master_host :主服务器的IP地址
    master_port:主服务器监听的端口号
    master_link_status:复制连接当前的状态,up表示连接正常,down表示连接断开
    master_last_io_seconds_ago:距离最近一次与主服务器进行通信已经过去了多少秒
    master_sync_in_progress:一个标志值,记录了主服务器是否正在与这个从服务器进行同步
    (2) 如果同步操作正在进行,那么这个部分还会加上以下域:
    master_sync_left_bytes:距离同步完成还缺多少字节的数据
    master_sync_last_io_seconds_ago: 距离最近一次与主服务器进行通信已经过去了多少秒
    (3)如果主从服务器之间的连接处于断线状态,那么这个部分还会加上以下域:
    master_link_down_since_seconds: 主从服务器连接断开了多少秒

官方文档地址:http://redis.io/commands/info

示例:

# Serverredis_version:2.8.19redis_git_sha1:be75271eredis_git_dirty:1redis_build_id:98a1595453ffe5d4redis_mode:standaloneos:Linux  arch_bits:64multiplexing_api:epollgcc_version:0.0.0process_id:36722run_id:90a9e0c81e901409dfac6a99b62a16292857f614tcp_port:6379uptime_in_seconds:167999uptime_in_days:1hz:10lru_clock:2448290config_file:redis.conf# Clientsconnected_clients:74client_longest_output_list:0client_biggest_input_buf:0blocked_clients:0# Memoryused_memory:1413449576used_memory_human:1.32Gused_memory_rss:1496051712used_memory_peak:1514235056used_memory_peak_human:1.41Gused_memory_lua:35840mem_fragmentation_ratio:1.06mem_allocator:jemalloc-3.6.0# Statstotal_connections_received:27096total_commands_processed:108715473instantaneous_ops_per_sec:1290total_net_input_bytes:14620069508total_net_output_bytes:720052330763instantaneous_input_kbps:104.26instantaneous_output_kbps:8924.73rejected_connections:0sync_full:2sync_partial_ok:0sync_partial_err:0expired_keys:113174evicted_keys:0keyspace_hits:106858969keyspace_misses:239022pubsub_channels:0pubsub_patterns:0latest_fork_usec:57423# CPUused_cpu_sys:3340.81used_cpu_user:2402.05used_cpu_sys_children:9.90used_cpu_user_children:8.07# Keyspacedb0:keys=5879,expires=5876,avg_ttl=4193429# Clusterdatabases:256nodecount:1
0 0