Redis监控

redis-benchmark

1.1 简介

第一个就介绍一下,Redis自带的性能检测工具redis-benchmark, 该工具可以模拟 N 个客户端同时发出 Y 个请求。 可以使用 redis-benchmark -h 来查看基准参数。

1.2 命令格式:

redis-benchmark [-h ] [-p ] [-c ] [-n <requests]> [-k ]

 

1.3 参数介绍:

序号选项描述默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器 socket  
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定 SET/GET 值的数据大小 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR 使用随机 key, SADD 使用随机值  
9 -P 通过管道传输 <numreq> 请求 1
10 -q 强制退出 redis。仅显示 query/sec 值  
11 --csv 以 CSV 格式输出  
12 -l 生成循环,永久执行测试  
13 -t 仅运行以逗号分隔的测试命令列表。  
14 -I Idle 模式。仅打开 N 个 idle 连接并等待。  

1.4 实例:

1.4.1 同时执行1000个请求来检测性能:

[root@iZbp143t3oxhfc3ar7jey0Z data]# redis-benchmark -n 1000 -q
PING_INLINE: 62500.00 requests per second
PING_BULK: 66666.67 requests per second
SET: 62500.00 requests per second
GET: 76923.08 requests per second
INCR: 76923.08 requests per second
LPUSH: 62500.00 requests per second
RPUSH: 62500.00 requests per second
LPOP: 76923.08 requests per second
RPOP: 76923.08 requests per second
SADD: 66666.67 requests per second
HSET: 83333.34 requests per second
SPOP: 76923.08 requests per second
LPUSH (needed to benchmark LRANGE): 76923.08 requests per second
LRANGE_100 (first 100 elements): 71428.57 requests per second
LRANGE_300 (first 300 elements): 66666.67 requests per second
LRANGE_500 (first 450 elements): 76923.08 requests per second
LRANGE_600 (first 600 elements): 71428.57 requests per second
MSET (10 keys): 58823.53 requests per second

[root@iZbp143t3oxhfc3ar7jey0Z data]#

 

1.4.2 50个并发请求,10000个请求,检测Redis性能:

[root@iZbp143t3oxhfc3ar7jey0Z data]# redis-benchmark -p 6379 -c 50 -n 10000
====== PING_INLINE ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

96.22% <= 1 milliseconds
99.99% <= 2 milliseconds
100.00% <= 2 milliseconds
65789.48 requests per second

====== PING_BULK ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.24% <= 1 milliseconds
100.00% <= 1 milliseconds
68965.52 requests per second

====== SET ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.19% <= 1 milliseconds
100.00% <= 1 milliseconds
70422.53 requests per second

====== GET ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.93% <= 1 milliseconds
100.00% <= 1 milliseconds
68965.52 requests per second

====== INCR ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.73% <= 1 milliseconds
100.00% <= 1 milliseconds
69444.45 requests per second

====== LPUSH ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.05% <= 1 milliseconds
100.00% <= 1 milliseconds
71942.45 requests per second

====== RPUSH ======
  10000 requests completed in 0.16 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.35% <= 1 milliseconds
100.00% <= 2 milliseconds
63291.14 requests per second

====== LPOP ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.32% <= 1 milliseconds
100.00% <= 1 milliseconds
66666.66 requests per second

====== RPOP ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.83% <= 1 milliseconds
100.00% <= 1 milliseconds
68027.21 requests per second

====== SADD ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.96% <= 1 milliseconds
100.00% <= 1 milliseconds
72992.70 requests per second

====== HSET ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.20% <= 1 milliseconds
100.00% <= 1 milliseconds
71942.45 requests per second

====== SPOP ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.86% <= 1 milliseconds
100.00% <= 1 milliseconds
71942.45 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
  10000 requests completed in 0.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.14% <= 1 milliseconds
100.00% <= 1 milliseconds
68965.52 requests per second

====== LRANGE_100 (first 100 elements) ======
  10000 requests completed in 0.16 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.85% <= 1 milliseconds
100.00% <= 1 milliseconds
61349.69 requests per second

====== LRANGE_300 (first 300 elements) ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.57% <= 1 milliseconds
100.00% <= 1 milliseconds
65789.48 requests per second

====== LRANGE_500 (first 450 elements) ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.52% <= 1 milliseconds
100.00% <= 1 milliseconds
67567.57 requests per second

====== LRANGE_600 (first 600 elements) ======
  10000 requests completed in 0.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.18% <= 1 milliseconds
100.00% <= 1 milliseconds
67567.57 requests per second

====== MSET (10 keys) ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

90.30% <= 1 milliseconds
99.99% <= 2 milliseconds
100.00% <= 2 milliseconds
56818.18 requests per second


[root@iZbp143t3oxhfc3ar7jey0Z data]#

monitor

2.1 简介

查看redis的连接及读写操作

2.2 命令格式

monitor

2.3 实例:

 由于我现在的环境是集群,哨兵的情况下,看的更细一点,我这边就直接把视频里面的图占出来。

showlog

3.1 简介

redis的slowlog是redis用于记录记录慢查询执行时间的日志系统。由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性能。Slowlog是Redis从2.2.12版本引入的一条命令。

3.2 命令格式

 命令

  • get :获取慢查询日志
  • len :获取慢查询日志条目数
  • reset :重置慢查询日志

在redis-cli中有关于slowlog的设置:

CONFIG SET slowlog-log-slower-than 6000   #设置慢查询的时间下线,单位:微妙

CONFIG SET slowlog-max-len 25  #设置慢查询命令对应的日志显示长度,单位:命令数 

现在流行的是Prometheus+Grafana搭建监控系统,页面炫酷,也可以监控redis

Redis的监控指标

 

 

 

 

 

 

 

 

posted @ 2020-04-12 19:31  天宇轩-王  阅读(366)  评论(0编辑  收藏  举报