Redis单机系列文章--2.Redis统计信息全解(redis info all)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426     一、命令说明: info: 部分统计和状态 info all: 全部统计和状态 info section: 某一块的统计和状态(例如info Replication)   Redis的info all命令包含redis实例最全的状态和统计信息。

转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426


   

一、命令说明:

info: 部分统计和状态
info all: 全部统计和状态
info section: 某一块的统计和状态(例如info Replication)

 

Redis的info all命令包含redis实例最全的状态和统计信息。

主要包含几个模块:

模块名

模块含义

Server

Redis 服务器信息

Clients

已连接客户端信息

Memory

内存信息

Persistence

RDB 和 AOF 的持久化相关信息

Stats

统计信息

Replication

主/从信息

CPU

CPU 计算量统计信息

Commandstats

Redis 命令统计信息

Cluster

Redis 集群信息(如果是集群,可以通过cluster info/nodes/slots查看更为详细的信息)

Keyspace

数据库相关的统计信息

 

二、详细说明:

1. Server

key

value

describe

redis_version

3.0.1

Redis 服务器版本

redis_git_sha1

00000000

Git SHA1

redis_git_dirty

0

Git dirty flag

redis_build_id

186eba9451cf9390

redis build id

redis_mode

cluster

运行模式

os

Linux 2.6.18-274.el5 x86_64

Redis 服务器的宿主操作系统

arch_bits

64

架构(32 或 64 位)

multiplexing_api

epoll

Redis 所使用的事件处理机制

gcc_version

4.1.2

编译 Redis 时所使用的 GCC 版本

process_id

31524

服务器进程的 PID

run_id

fd8b97739c469526f640b8895a5084d669ed151f

Redis 服务器的随机标识符(用于 Sentinel 和集群)

tcp_port

6384

TCP/IP 监听端口

uptime_in_seconds

9753347

自 Redis 服务器启动以来,经过的秒数

uptime_in_days

112

自 Redis 服务器启动以来,经过的天数

hz

10

程序规定 serverCron 每秒运行 10 次, 平均每 100 毫秒运行一次

lru_clock

16388503

以分钟为单位进行自增的时钟,用于 LRU 管理

config_file

/opt/cachecloud/conf/redis-cluster-6384.conf

配置文件

2. Clients

key

value

describe

connected_clients

262

已连接客户端的数量(不包括通过从属服务器连接的客户端)

client_longest_output_list

0

当前连接的客户端当中,最长的输出列表

client_biggest_input_buf

0

当前连接的客户端当中,最大输入缓存

blocked_clients

0

正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量

3. Memory

used_memory

183150904

由 Redis 分配器分配的内存总量(以字节为单位)

used_memory_human

174.67M

以人类可读的格式返回 Redis 分配的内存总量

used_memory_rss

428621824

从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps等命令的输出一致。

used_memory_peak

522768352

Redis 的内存消耗峰值(以字节为单位)

used_memory_peak_human

498.55M

以人类可读的格式返回 Redis 的内存消耗峰值

used_memory_lua

35840

 Lua 引擎所使用的内存大小(以字节为单位)

mem_fragmentation_ratio

2.34

used_memory_rss 和 used_memory 之间的比率, 小于1, 有swap情况; 过于大于1, 标示碎片比较多

mem_allocator

jemalloc-3.6.0

在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc

 

4. Persistence

loading

0

 是否在载入状态

rdb_changes_since_last_save

53308858

自上次dump后rdb的改动

rdb_bgsave_in_progress

0

标识rdb save是否进行中

rdb_last_save_time

61585480

上次save的时间

rdb_last_bgsave_status

ok

上次的save操作状态

rdb_last_bgsave_time_sec

3

上次rdb save操作使用的时间(单位s)

rdb_current_bgsave_time_sec

-1

如果rdb save操作正在进行,则是所使用的时间

(单位s)

aof_enabled

1

是否开启了aof功能

aof_rewrite_in_progress

0

标识aof的rewrite操作是否在进行中

aof_rewrite_scheduled

0

标识是否将要在rdb save操作结束后执行

aof_last_rewrite_time_sec

0

上次rewrite操作使用的时间(单位s)

aof_current_rewrite_time_sec

-1

如果rewrite操作正在进行,则记录所使用的时间

(单位s)

aof_last_bgrewrite_status

ok

上次bgrewriteaof操作的状态

aof_last_write_status

ok

上次rewriteaof操作的状态

aof_current_size

186702421

aof当前尺寸

aof_base_size

134279710

aof上次启动或rewrite的大小

aof_pending_rewrite

0

同上面的aof_rewrite_scheduled

aof_buffer_length

0

aof buffer的大小

aof_rewrite_buffer_length

0

aof rewrite buffer的大小

aof_pending_bio_fsync

0

后台IO队列中等待fsync任务的个数

aof_delayed_fsync

64

延迟的fsync计数器

 

5. Stats

total_connections_received

495967

运行以来连接过的客户端的总数量

total_commands_processed

5139857171

运行以来执行过的命令的总数量

instantaneous_ops_per_sec

511

每秒处理命令条数(TPS)

total_net_input_bytes

282961395316

输入网络流量(以字节为单位)

total_net_output_bytes

1760503612586

输出网络流量(以字节为单位)

instantaneous_input_kbps

28.24

每秒输入字节数

instantaneous_output_kbps

234.90

每秒输出字节数

rejected_connections

0

拒绝的连接个数(和maxclients这个配置有关)

sync_full

4

主从完全同步成功次数

sync_partial_ok

0

主从部分同步成功次数

sync_partial_err

0

主从部分同步失败次数

expired_keys

45534039

运行以来过期的 key 的数量

evicted_keys

0

运行以来剔除(超过了maxmemory后)的 key 的数量

keyspace_hits

3923837939

命中次数

keyspace_misses

1078922155

不命中次数

pubsub_channels

0

当前使用中的频道数量

pubsub_patterns

0

当前使用的模式的数量

latest_fork_usec

16194

最近一次 fork 操作导致了多少时间的卡顿(微妙) 1s=1000ms=1000*1000us

migrate_cached_sockets

0

TODO(官网上查不到, 应该和migrate这个命令执行时候统计到的)

6. Replication

role

master

实例的角色(master,slave)

connected_slaves

1

连接的slave实例个数

slave0

slave0:ip=10.10.83.177,

port=6387,

state=online,

offset=113516980489,

lag=0

连接的slave信息

master_repl_offset

113516987164

主从同步偏移量(偏移量一致说明主从同步)

repl_backlog_active

1

复制缓冲区状态

repl_backlog_size

10000000

复制缓冲区尺寸(单位:字节)

repl_backlog_first_byte_offset

113506987165

复制缓冲区偏移量

repl_backlog_histlen

10000000

复制缓冲区尺寸(单位:字节)

 

7. CPU

used_cpu_sys

31957.30

将所有Redis主进程在核心态所占用的CPU时求和累计起来

used_cpu_user

72484.27

将所有Redis主进程在用户态所占用的CPU时求和累计起来

used_cpu_sys_children

121.49

将后台进程在核心态所占用的CPU时求和累计起来

used_cpu_user_children

195.13

将后台进程在用户态所占用的CPU时求和累计起来

8. Commandstats(单位是微妙)

单位: 1/100s

cmdstat_get

calls=3738730699,usec=11054972404,usec_per_call=2.96

get命令调用次数,耗时,平均耗时(单位:微妙)

cmdstat_set

calls=50174458,usec=323143686,usec_per_call=6.44

set命令调用次数,耗时,平均耗时(单位:微妙)

其他所有命令..............................................................

例如:

# Commandstats
cmdstat_get:calls=3738730699,usec=11054972404,usec_per_call=2.96
cmdstat_set:calls=50174458,usec=323143686,usec_per_call=6.44
cmdstat_setex:calls=25853160,usec=304703848,usec_per_call=11.79
cmdstat_strlen:calls=4,usec=16,usec_per_call=4.00
cmdstat_del:calls=27201827,usec=162871887,usec_per_call=5.99
cmdstat_incr:calls=25120932,usec=202332431,usec_per_call=8.05
cmdstat_rpush:calls=686564,usec=4758249,usec_per_call=6.93
cmdstat_lrange:calls=1038519562,usec=5716138223,usec_per_call=5.50
cmdstat_sadd:calls=407,usec=84520,usec_per_call=207.67
cmdstat_scard:calls=349,usec=972,usec_per_call=2.79
cmdstat_smembers:calls=349,usec=2767,usec_per_call=7.93
cmdstat_zadd:calls=46,usec=426,usec_per_call=9.26
cmdstat_zrem:calls=7,usec=44,usec_per_call=6.29
cmdstat_zrange:calls=451,usec=1359,usec_per_call=3.01
cmdstat_zrangebyscore:calls=131240249,usec=512448019,usec_per_call=3.90
cmdstat_zrevrange:calls=16,usec=257,usec_per_call=16.06
cmdstat_zcard:calls=9,usec=27,usec_per_call=3.00
cmdstat_hmset:calls=1181,usec=13548,usec_per_call=11.47
cmdstat_hgetall:calls=64834,usec=403076,usec_per_call=6.22
cmdstat_select:calls=2,usec=4,usec_per_call=2.00
cmdstat_expire:calls=92879310,usec=334088215,usec_per_call=3.60
cmdstat_scan:calls=4486,usec=977510,usec_per_call=217.90
cmdstat_dbsize:calls=1,usec=2,usec_per_call=2.00
cmdstat_ping:calls=172971,usec=167960,usec_per_call=0.97
cmdstat_bgrewriteaof:calls=311,usec=5207823,usec_per_call=16745.41
cmdstat_type:calls=2,usec=7,usec_per_call=3.50
cmdstat_psync:calls=4,usec=67153,usec_per_call=16788.25
cmdstat_replconf:calls=8397567,usec=10976760,usec_per_call=1.31
cmdstat_info:calls=203918,usec=17064393,usec_per_call=83.68
cmdstat_config:calls=162305,usec=1885007,usec_per_call=11.61
cmdstat_cluster:calls=60,usec=102334,usec_per_call=1705.57
cmdstat_dump:calls=441127,usec=2006844,usec_per_call=4.55
cmdstat_client:calls=2,usec=526,usec_per_call=263.00
cmdstat_slowlog:calls=1,usec=17,usec_per_call=17.00

 

9. Cluster

key

value

describe

cluster_enabled

1

是否开始cluster

 

 

 

10. Keyspace

db0

db0:keys=106430,expires=56107,avg_ttl=60283952

各个数据库的 key 的数量,以及带有生存期的 key 的数,平均存活时间

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
Kubernetes NoSQL Redis
k8s快速部署Redis单机
k8s快速部署Redis单机
|
4月前
|
存储 NoSQL Java
Redis助力高并发网站:在线用户统计不再是难题!
小米带你了解如何使用Redis高效统计网站的在线与并发用户数。通过维护用户的活跃时间,利用Redis有序集合(Sorted Set)特性,可实时更新在线用户列表并统计数量。具体实现包括记录用户上线时间、定期清理离线用户及统计特定时间窗口内的活跃用户数。这种方法适用于高并发场景,保证统计结果的实时性和准确性。跟着小米一起探索Redis的强大功能吧!
101 2
|
27天前
|
NoSQL Java API
springboot项目Redis统计在线用户
通过本文的介绍,您可以在Spring Boot项目中使用Redis实现在线用户统计。通过合理配置Redis和实现用户登录、注销及统计逻辑,您可以高效地管理在线用户。希望本文的详细解释和代码示例能帮助您在实际项目中成功应用这一技术。
30 4
|
6月前
|
存储 NoSQL Redis
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
85 1
|
6月前
|
NoSQL Java Redis
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
87 0
|
6月前
|
存储 消息中间件 缓存
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
99 0
|
3月前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
79 2
|
3月前
|
JSON 缓存 NoSQL
redis序列化数据时,如何包含clsss类型信息?
通过配置 `com.fasterxml.jackson.databind.ObjectMapper` 的 `enableDefaultTyping` 方法,可以使序列化后的 JSON 包含类信息。
54 2
|
2月前
|
缓存 NoSQL 关系型数据库
单机版Redis
【10月更文挑战第3天】
40 0
|
5月前
|
NoSQL Redis C++
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难