首页 > 编程知识 正文

黑暗骑士纯干货(万字黑暗骑士纯干货)

时间:2023-05-04 11:24:41 阅读:92805 作者:2097

我想您已经在上一章了解了redis的基本概念和配置,本章将重点介绍如何使用的redis工具监视redis的运行状态。

“Redis info”

使用anotherRedisdesktopmanager工具监视redis

# #信息

命令获取监视数据

连接的客户端:68

连接的客户端数量

使用者记忆体人力:847.62米

操作系统为Redis进程分配的内存总量

美国:794.42米

最大使用内存总量(峰值) (高) ) () ) () ) ) () ) ) ) ) ) ) ) )。

total _连接接受的:619104

服务器接受的连接请求数

国际航空运输协会:1159

服务器每秒执行的命令数

国际航空运输协会:55.85

redis网络门户kps

国际航空运输协会:3553.89

redis网络出口kps

接收连接:0

由于限制最大客户端数量而被拒绝的连接请求数

expired_keys:0

由于过期而自动删除的数据库密钥的数量

evicted_keys:0

由于最大内存容量限制而释放的密钥数

keyspace_hits:0

数据库密钥检索成功的次数

keyspace_misses:0

数据库密钥检索失败的次数

# #服务器

redis _版本:3.2.4 # redis版本

redis _ git _ sha 13360000000 # git sha 1

redis _ git _ dirty :0 # gitdirtyflag

redis _ build _ id :4 a0a 5391316325 c 5

redis _ mode :集群

OS : Linux 2.6.32-358.el6.x86 _ 64 x86 _ 64 # redis服务器的主机操作系统

arch_bits:64 #体系结构(32位或64位) ) ) ) ) ) ) ) ) ) ) ) ) )。

multiplexing _ API :轮询# redis使用的事件处理机制

用于编译GCC_version:4.4.7#redis的GCC版本

进程id :42341 #服务器进程的PID

run _ id :961 f 96 e 23843202 AE 98 DBE FB 655 B4 F9 C 4d 57 e # redis服务器的随机标识符(用于Sentinel和群集) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

TCP _端口:28001 # TCP/IP监听端口

uptime_in_seconds:60872 #运行时(秒) ) ) ) ) )

uptime_in_days:0 #工作日

hz:10

lru_clock:12112874 #分钟的自增长时钟,用于LRU管理可执行文件: /家庭/应用程序/光盘3 /介质-服务器

config _ file : /家庭/app/redis3//群集/28001/redis-28001.conf #群集配置文件

# #客户端

connected_clients:68 #已连接的客户端数量

client _ longest _ output _ list :0 #当前连接的客户端中最长的输出列表client_biggest_input_buf:0#当前连接的客户端

# #内存

由used _ memory :831391096 # redis分配器分配的内存总量(以字节为单位)

美国:792.88米

由used _ memory _ RSS 336088795136 # redis分配的内存总量。 该值与top命令的输出一致。

使用者记忆体人力:847.62米

used _ memory _ peak :833008000 # redis的内存消耗峰值(以字节为单位)

美国:794.42米

总系统内存336033661575168

总系统内存人机:31.35 g

used _内存_ Lua :37888

used _ memory _ Lua _ human :37.00 k

最大内存:0

最大内存_人力:0 b

最大内存_策略:否事件

mem _ fragmentation _ ratio :1.07 #内存碎片

mem _分配器3360 je malloc-4.0.3

# #持久性

loading:0 #记录服务器是否正在加载持久文件的标志值

RDB _ changes _ since _ last _ save :7358 #自最近成功创建了持久化文件以来,rdb_bgsave_in_progress:0 #创建了RDB文件

RDB _最后保存时间:15052850

08 #最近一次成功创建 RDB 文件的 UNIX 时间戳 rdb_last_bgsave_status:ok #一个标志值,记录了最近一次创建 RDB 文件的结果是成功还是失败 rdb_last_bgsave_time_sec:10 #记录了最近一次创建 RDB 文件耗费的秒数 rdb_current_bgsave_time_sec:-1 #如果服务器正在创建 RDB 文件,那么这个值记录的就是当 前的创建操作已经耗费的秒数 aof_enabled:1 #redis是否开启了aof aof_rewrite_in_progress:0 #一个标志值,记录了服务器是否正在创建 AOF 文件 aof_rewrite_scheduled:0 #一个标志值,记录了在 RDB 文件创建完毕之后,是否需要执行预约 的 AOF 重写操作 aof_last_rewrite_time_sec:4 #最近一次创建 AOF 文件耗费的时长 aof_current_rewrite_time_sec:-1 #如果服务器正在创建 AOF 文件,那么这个域记录的就是 当前的创建操作已经耗费的秒数 aof_last_bgrewrite_status:ok #一个标志值,记录了最近一次创建 AOF 文件的结果是成功还是失败 aof_last_write_status:ok aof_current_size:633883114 aof_base_size:428945179 #服务器启动时或者 AOF 重写最近一次执行之后,AOF 文件的大小 aof_pending_rewrite:0 # 一个标志值,记录了是否有 AOF 重写操作在等待 RDB 文件创建完毕之后执行 aof_buffer_length:0 #AOF 缓冲区的大小 aof_rewrite_buffer_length:0 #AOF 重写缓冲区的大小 aof_pending_bio_fsync:0 # 后台 I/O 队列里面,等待执行的 fsync 调用数量 aof_delayed_fsync:12 #被延迟的 fsync 调用数量 # Stats total_connections_received:619104 #服务器已接受的连接请求数量 total_commands_processed:26830012 #服务器已执行的命令数量 instantaneous_ops_per_sec:1159 #服务器每秒钟执行的命令数量 total_net_input_bytes:1304952619 #redis网络入口流量字节数 total_net_output_bytes:1009790961 #redis网络出口流量字节数 instantaneous_input_kbps:55.85 #redis网络入口kps instantaneous_output_kbps:3553.89 #redis网络出口kps rejected_connections:0 #因为最大客户端数量限制而被拒绝的连接请求数量 sync_full:2 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 #因为过期而被自动删除的数据库键数量 evicted_keys:0 #因为最大内存容量限制而被驱逐(evict)的键数量 keyspace_hits:0 #查找数据库键成功的次数 keyspace_misses:0 #查找数据库键失败的次数 pubsub_channels:0 #当前使用中的频道数量 pubsub_patterns:0 #当前使用中的模式数量 latest_fork_usec:2639 migrate_cached_sockets:0 # Replication role:master #当前实例的角色master还是slave connected_slaves:1 slave0:ip=172.18.1.162,port=28004,state=online,offset=674295829,lag=0 master_repl_offset:674298545 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:673249970 repl_backlog_histlen:1048576 # CPU used_cpu_sys:718.26 #服务器耗费的累计系统 CPU used_cpu_user:468.60 #服务器耗费的累计用户 CPU used_cpu_sys_children:122.46 #后台进程耗费的系统 CPU used_cpu_user_children:835.28 #后台进程耗费的用户 CPU # Cluster cluster_enabled:1 #是否开启集群模式 1代表是 # Keyspace db0:keys=3322,expires=0,avg_ttl=0 #各个数据库的 key 的数量,以及带有生存期的 key 的数量 (代Redis TTL 命令Redis TTL 命令以秒为单位返回 key 的剩余过期时间。 语法redis TTL 命令基本语法如下:redis 127.0.0.1:6379> TTL KEY_NAME 返回值 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为 单位,返回 key 的剩余生存时间。 注意:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。 # 不存在的 key redis> TTL key (integer) -2 # key 存在,但没有设置剩余生存时间 redis> SET key value OK redis> TTL key (integer) -1 # 有剩余生存时间的 key redis> EXPIRE key 10086 (integer) 1 redis> TTL key (integer) 10084

延迟问题诊断

持久性策略会影响会对延迟有影响,在设置持久性时需要权衡性能的问题。

AOF+fsync always:对性能延迟影响最大,需要确定我们什么时候用它AOF+fsync every second:这是一个很好的折中方案。AOF+fsync every second+no appendfsync on rewrite set to yes:如上所述,但在重写过程中避免使用fsync以降低磁盘压力。AOF+fsync never:取决于操作系统内核设置。RDB:根据配置的保存触发器,确定更好的折中方案。

(1).基准延迟测量

redis-cli --intrinsic-latency 60 [root@localhost dddzt]# redis-cli --intrinsic-latency 60 Max latency so far: 28 microseconds. Max latency so far: 354 microseconds. Max latency so far: 807 microseconds. Max latency so far: 950 microseconds. Max latency so far: 1081 microseconds. Max latency so far: 1314 microseconds. Max latency so far: 1670 microseconds. Max latency so far: 1739 microseconds. Max latency so far: 2874 microseconds. Max latency so far: 3111 microseconds. Max latency so far: 5487 microseconds. Max latency so far: 9560 microseconds. Max latency so far: 45349 microseconds. Max latency so far: 136359 microseconds. Max latency so far: 143275 microseconds. Max latency so far: 281699 microseconds. 7560410 total runs (avg latency: 7.9361 microseconds / 7936.08 nanoseconds per r un). Worst run took 35496x longer than the average latency.

(2).在启动Redis服务之前,应该测度网络往返延迟

redsi-cli --latency min: 0, max: 2, avg: 0.11 (3026 samples)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。