摘要:命令在的运维过程中很重要,我们可以通过了解到运行过程中的内存情况情况以及主从同步中,各从机同步情况,等等。下面是一个命令的返回信息分析。当,且两者的值相差较大时,表示存在内部或外部的内存碎片。
redis info 命令在redis的运维过程中很重要,我们可以通过info了解到redis运行过程中的内存情况、key-value情况以及主从同步中,各从机同步情况,等等。下面是一个info命令的返回信息分析。
# Server (服务器信息) redis_version:3.0.0 #redis版本号 redis_git_sha1:00000000 #Git SHA1 redis_git_dirty:0 #Git dirty flag redis_build_id:b269417c33a7b462 redis_mode:standalone #redis运行模式 os:Linux 2.6.32-358.el6.x86_64 x86_64 #Redis 服务器的宿主操作系统 arch_bits:64 #系统架构(64/32) multiplexing_api:epoll #Redis 所使用的事件处理机制 gcc_version:4.4.7 #编译 Redis 时所使用的 GCC 版本 process_id:8531 #服务器进程的 PID run_id:788ab3cb07ea03668745d06a3f17628d29daa95d #Redis 服务器的随机标识符(用于Sentinel 和集群) tcp_port:6378 #TCP/IP 监听端口 uptime_in_seconds:1348098 #自 Redis 服务器启动以来,经过的秒数 uptime_in_days:15 #自 Redis 服务器启动以来,经过的天数 hz:10 lru_clock:15991640 #以分钟为单位进行自增的时钟,用于LRU 管理 config_file:/etc/redis.conf #配置文件位置 # Clients (客户端信息) connected_clients:1103 #已连接客户端的数量(不包括通过从属服务器连接的客户端) client_longest_output_list:0 #当前连接的客户端当中,最长的输出列表 client_biggest_input_buf:6800 #当前连接的客户端当中,最大输入缓存 blocked_clients:0 #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
# Memory (内存信息) used_memory:35795152 #由Redis分配器分配的内存总量,以字节(byte)为单位 used_memory_human:34.14M #以MB为单位返回由Redis分配器分配的内存总量 used_memory_rss:50876416 #从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小) used_memory_peak:595513248 #Redis 的内存消耗峰值(以字节为单位) used_memory_peak_human:567.93M #以MB为单位返回Redis 的内存消耗峰值 used_memory_lua:35840 #Lua 引擎所使用的内存大小(以字节为单位) mem_fragmentation_ratio:1.42 #used_memory_rss 和 used_memory 之间的比率 mem_allocator:jemalloc-3.6.0 #在编译时指定的, 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 的值可以验证这种情况是否发生。
# Persistence (持久化RDB 和 AOF 的相关信息) loading:0 #标志是否正在执行RDB 持久化(0--否) rdb_changes_since_last_save:0 #上次执行save后键值对的变化数量 rdb_bgsave_in_progress:0 #是否正在执行bgsave(0--否) rdb_last_save_time:1458831622 #上次执行save的时间 rdb_last_bgsave_status:ok #上次执行bgsave操作的结果 (ok--成功) rdb_last_bgsave_time_sec:0 #上次bgsave消耗的时间(秒) rdb_current_bgsave_time_sec:-1 #如果rdb save操作正在进行,则是所使用的时间 aof_enabled:0 #aof持久化标志,默认为0--不执行aof持久化 aof_rewrite_in_progress:0 #标识aof的rewrite操作是否在进行中 aof_rewrite_scheduled:0 #标识是否将要在rdb save操作结束后执行 aof_last_rewrite_time_sec:-1 #上次rewrite操作使用的时间(单位s) aof_current_rewrite_time_sec:-1 #如果rewrite操作正在进行,则记录所使用的时间 aof_last_bgrewrite_status:ok #上次执行bgrewrite结果(ok--成功) aof_last_write_status:ok #上次执行write操作的结果
# Stats 一般统计信息 total_connections_received:37653886 #启动后被连接过的总数 total_commands_processed:14733083 #启动后总共执行的命令总数 instantaneous_ops_per_sec:5 #平均每秒执行的命令数 total_net_input_bytes:5954087862 #启动后总共接收输入的字节数 total_net_output_bytes:11546658106 #启动后总共输出的字节数 instantaneous_input_kbps:3.37 #接收输入的速率 instantaneous_output_kbps:4.39 #输出的速率 rejected_connections:0 #因为最大客户端连接书限制,而导致被拒绝连接的个数 sync_full:10 sync_partial_ok:0 sync_partial_err:0 expired_keys:1896 #自启动起过期的key的总数 evicted_keys:0 keyspace_hits:184482 #在main dictionary(todo)中成功查到的key个数 keyspace_misses:745 #同上,未查到的key的个数 pubsub_channels:1 #发布/订阅频道数 pubsub_patterns:0 #发布/订阅模式数 latest_fork_usec:3784 #上次的fork操作使用的时间(单位ms) migrate_cached_sockets:0
# Replication (主从复制) role:master #角色(master/slave) connected_slaves:4 #连接的从库数 ####从库列表 slave0:ip=172.16.2.105,port=6377,state=online,offset=1190137349,lag=0 slave1:ip=172.16.2.121,port=6379,state=online,offset=1190137349,lag=0 slave2:ip=172.16.2.122,port=6379,state=online,offset=1190137335,lag=1 slave3:ip=172.16.2.123,port=6379,state=online,offset=1190137349,lag=1
在一般情况下,lag的值应该在0秒或者1秒之间跳动,如果超过1秒的话,那么说明主从服务器之间的连接出现了故障。
master_repl_offset:1190137349 #主机复制偏移量 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1189088774 repl_backlog_histlen:1048576 # CPU used_cpu_sys:8049.61 used_cpu_user:6100.84 used_cpu_sys_children:460.31 used_cpu_user_children:1505.23
关于user_cpu_sys和used_cpu_user之间的区别可以参考关于user_cpu_sys、used_cpu_user
# Cluster (集群) cluster_enabled:0 # Keyspace (各个库键值对情况) db0:keys=6,expires=0,avg_ttl=0 db1:keys=146,expires=0,avg_ttl=0 db3:keys=7,expires=2,avg_ttl=16073225655 db4:keys=8,expires=6,avg_ttl=16073320437 db6:keys=13897,expires=8915,avg_ttl=14162008368 db7:keys=609,expires=0,avg_ttl=0 db9:keys=59,expires=51,avg_ttl=15335242726 db13:keys=60,expires=1,avg_ttl=6302519 db14:keys=100,expires=0,avg_ttl=0
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/36190.html
摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...
摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...
摘要:允许分配超出物理内存加上交换内存的请求内核总是返回的数据回写机制分为两种同步回写即命令。最好的办法是扩大物理内存。在配置了主从复制后,有一种方案是停掉的持久化功能,这时服务器上需要慎重配置开机启动后边会详细说明。 一、编译安装 1、下载安装包:http://download.redis.io/releases/redis-3.2.3.tar.gz目前最新的版本,你也可以打开redis官...
摘要:简介这篇文章主要讲述的主从复制功能。从服务器在身份验证时可能遇上的情况如下发送端口信息身份验证通过后,从服务器会向主服务器发送自己的监听端口号。主服务器收到之后会将端口号记录到从服务器对应的状态属性中。的主从复制功能就介绍到这里了。 1 简介 这篇文章主要讲述Redis的主从复制功能。会依次从环境搭建、功能测试和原理分析几个方面进行介绍。 2 准备工作 服务器架构图如下 showIm...
阅读 2081·2019-08-30 10:51
阅读 618·2019-08-30 10:50
阅读 1296·2019-08-30 10:49
阅读 2982·2019-08-26 13:55
阅读 1446·2019-08-26 11:39
阅读 3293·2019-08-26 11:34
阅读 1795·2019-08-23 18:30
阅读 3234·2019-08-23 18:22