redis 监控

redis 监控一共有两种方式,一种是通过info命令,还有一种是使用redis-stat工具。两者其实本质是一样的,不过一个是命令行的模式下查看监控数据,而另外一种是图形化页面查看。但是实际上,我们性能测试主要更多的是关注性能测试指标本身。

首先,我们来查看一下命令行模式。---- info

info命令展示了redis当前的一些实时状态。下方我们可以看到redis中返回的一些参数。

zabbix监控redis模板 redis缓存监控_zabbix监控redis模板


在性能测试中,我们主要是关注以下这些参数。

clients

zabbix监控redis模板 redis缓存监控_连接数_02

  • connected_clients:当前已经连接的客户端数量
  • blocked_clients:正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端数量

通常在看到blocked_clients,我们需要跟开发沟通,为什么在连接客服端的时候,会有这么多连接阻塞,如果不是必要的设计,就需要做性能优化。

Memory

memory中主要关注的是used_memory_rss_human,这个是用来关注我们redis中的内存够不够用。(redis中可以配置最大内存,这里可以查看我们距离最大内存还有多少)

  • used_memory_rss_human:这个是以人类可读的格式,从操作系统的角度,返回redis已分配的内存总量(俗称常驻集大小)。这个值和top、ps等命令的输出一致。

比如我们redis没有内存的情况下,默认情况下redis会删除一些长期未使用的内存腾出内存空间。

zabbix监控redis模板 redis缓存监控_nginx_03


Status 缓存命中率

  • keyspace_hits:命中次数
  • keyspace_misses:没命中的次数

命中率 = keyspace_hits / (keyspace_hits + keyspace_misses)

对于程序来说,命中率越高则意味着越好。

zabbix监控redis模板 redis缓存监控_nginx_04


redis-stat工具

后面发现除了在命令行之外还提供了图形化的一些监控,可以直观的查看Redis各个实例的一个使用情况。

redis-stat安装和使用:

  1. 下载 redis-stat-0.4.14.jar.
  2. 在redis服务器上执行如下命令
java -jar redis-stat-0.4.14.jar - server [--auth 密码]
  1. 关闭Linux防火墙,在浏览器输入服务器IP+63790:/

zabbix监控redis模板 redis缓存监控_连接数_05

zabbix监控redis模板 redis缓存监控_nginx_06


Nginx监控Nginx重点监控连接数,一般是通过 netstat 命令来监控。Nginx的连接数主要取决于我们的配置,可以在 nginx.conf 文件中查看,这里我们配置的 1024,然后worker_processes是2,那么最大连接数为 worker_connections * worker_processes = 2048.

zabbix监控redis模板 redis缓存监控_nginx_07

监控80端口的连接数情况

安装: yum install -y net-tools

netstat -anp | grep 80

zabbix监控redis模板 redis缓存监控_linux_08


查看80端口的连接数情况

netstat -anp | grep 80 |wc -l

zabbix监控redis模板 redis缓存监控_nginx_09


查看nginx所有连接数的状态,分类展示

netstat -anp | grep 80 | awk '{print $6}' | sort | uniq -c | sort -rn

zabbix监控redis模板 redis缓存监控_linux_10