1.1.1. 16.Info

简介

Info 指令可以获取 Redis 的信息,分别是:

  1. Server - 服务器运行环境参数
  2. Clients - 客户端相关信息
  3. Memory - 服务器运行内存统计数据
  4. Persistence - 持久化信息
  5. Stats - 通用统计数据
  6. Replication - 主从复制相关信息
  7. CPU - CPU 信息
  8. Cluster - 集群信息
  9. KeySpace - 键值对统计数量信息
# 获取所有信息
> info
# 获取内存相关信息
> info memory
# 获取复制相关信息
> info replication

每秒执行多少次指令

# ops_per_sec: operations per second,也就是每秒操作数
> redis-cli info stats |grep ops
instantaneous_ops_per_sec:789

极限情况下,Redis 每秒能处理 10W 条指令,CPU 被完全榨干。

如果 qps 过高,可以通过 monitor 来查看哪些 key 被访问的比较频繁,业务上进行优化。

> redis-cli monitor

Redis 连接了多少客户端

127.0.0.1:6379> info clients
# Clients
connected_clients:3 # 连接了 3 个客户端
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0

然后可以通过 client list 来查看有哪些客户端

127.0.0.1:6379> client list
id=8 addr=127.0.0.1:47512 fd=8 name= age=958 idle=39 flags=O db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=monitor
id=10 addr=127.0.0.1:47516 fd=9 name= age=822 idle=39 flags=O db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=monitor
id=13 addr=127.0.0.1:47522 fd=10 name= age=553 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 obl=0 oll=0 omem=0 events=r cmd=client

这里还有个参数 rejected_connections ,它表示因为超出最大连接数而被拒绝的客户端连接次数,如果数字过大,就要调整配置文件 maxclients 参数。

vagrant@homestead:~$ redis-cli info stats |grep reject
rejected_connections:0

Redis 内存多大

vagrant@homestead:~$ redis-cli info memory |grep used |grep human
used_memory_human:875.09K  # 内存分配器 (jemalloc) 从操作系统分配的内存总量
used_memory_rss_human:5.24M # 操作系统看到的内存占用 ,top 命令看到的内存
used_memory_peak_human:875.99K # Redis 内存消耗的峰值
used_memory_lua_human:37.00K # lua 脚本引擎占用的内存大小

如果单个 Redis 占用空间过大,就可以考虑集群。

复制积压缓冲区多大

vagrant@homestead:~$ redis-cli info replication |grep backlog
repl_backlog_active:0
repl_backlog_size:1048576  # 这个就是积压缓冲区大小
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

复制积压缓冲区就是前面所说的复制 buffer。它的大小非常重要,影响主从复制的效率,设置不恰当会导致「增量同步-快照同步」无限循环。

  1. 首先,复制积压缓冲区是个环形的,后面的指令会覆盖前面的指令。
  2. 如果从库断开时间过长,或者缓冲区设置太小,导致从库无法快速恢复主从同步过程,导致主从全量同步,非常耗资源和时间。
  3. 如果有多个从库复制,复制积压缓冲区是共享的,不会因为增加从库而线性增长大小。一般几十 M 就够用了。
vagrant@homestead:~$ redis-cli info stats|grep sync
sync_full:0
sync_partial_ok:0
sync_partial_err:0 # 半同步失败次数

sync_partial_err 表示主从同步复制失败次数。如果 sync_partial_err 过大,可以考虑扩大积压缓冲区。

Copyright © Kagami丶 2019 all right reserved,powered by Gitbook该文件修订时间: 2019-10-17 19:28:44

results matching ""

    No results matching ""