如何查看Redis实例的实时并发连接数和最大连接数
查看Redis实例实时并发连接数
当您需要查看DCS实例收到的实时连接数时,可以通过控制台查看,查看方法,请参考查看监控指标。
进入监控页面后,找到“ 活跃的客户端数量 ”监控项。您可以单击该监控项的右上角的查看按钮,使用大图模式查看。
在弹出的“活跃的客户端数量”页面,根据需要选择查看的时间段,例如,若要查看10分钟内的连接数,您可以将时间自定义为10分钟。由于监控数据采集的是周期内增加的连接数,您可以通过监控图表,查看这个时间段的连接数的走势,并统计10分钟内的连接总数。
另外,您还可以通过以上操作方法查看其它常用监控数据,查看您的实例运行情况。
- CPU利用率
- 内存利用率
- 已用内存
- 每秒并发操作数
查看或修改实例最大连接数
您可以在控制台创建实例页面查看实例默认及最大可配的最大连接数。
创建实例后,您也可以通过DCS控制台“实例配置 > 参数配置”页面,查看或修改maxclients参数值,即最大连接数。(Proxy集群实例不支持修改该参数)
Redis命令是否支持审计?
Redis是高性能读写,不支持命令审计,如果命令支持审计,性能会受到很大的影响,所以命令打印不出来。
Redis监控数据异常处理方法
当对Redis监控数据存在疑问或异议时,可以使用Redis-cli访问Redis实例,执行info all命令,查看进程记录的指标。info all输出详解可参考:http://www.redis.cn/commands/info.html。
监控数据出现实例已使用内存略大于实例可使用内存是什么原因?
DCS单机和主备实例已使用内存为redis-server进程统计的已使用内存。集群是基于分片机制实现的,集群的已使用内存为各个分片redis-server的已使用内存的总和。
由于开源redis-server内部机制的原因,有时会出现DCS缓存实例已使用内存略大于可使用内存的情况,此为正常现象。
Redis的used_memory超过max_memory的原因
Redis通过zmalloc分配内存,不会在每一次分配内存时都检查是否会超过max_memory,而是在周期任务以及命令处理的开头处等地方,判断一次当前的used_memory是否超过max_memory,如果超过就触发逐出操作。所以,对于max_memory策略的限制实施并不是实时、刚性的,会出现某个时间used_memory大于max_memory的情形。
为什么带宽使用率指标会超过100%
带宽使用率基本信息如下:
指标ID | 指标名称 | 含义 | 取值范围 | 测量对象&维度 | 监控周期(原始指标) |
---|---|---|---|---|---|
bandwidth_usage | 带宽使用率 | 当前流量带宽与最大带宽限制的百分比 | 0-200% | 测量对象:Redis 4.0/5.0主备实例数据节点Redis 4.0/5.0 Cluster集群实例数据节点测量维度:dcs_cluster_node | 1分钟 |
其中带宽使用率的计算公式为,带宽使用率=(网络瞬时输入流量+网络瞬时输出流量)/(2最大带宽限制) 100%
从计算公式可知,同时计算了网络瞬时输入流量和网络瞬时输出流量,这两个指标值是有统计主从同步的流量的。所以统计的总流量使用量会比正常的业务流量大一些。
判断当前是否被限流,请使用流控次数这个指标,这个指标值大于0时,表示当前已经被使用带宽超过最大限制被流控。
限流时,流控次数指标是不统计主从同步流量的,所以有时候会出现带宽使用率指标超过100%,但流控次数为0的情况。
监控指标中存在已拒绝连接数是什么原因?
当监控指标中出现已拒绝连接数时,请确认客户端连接数是否已经超过实例的最大连接数限制,实例最大连接数可以查看参数maxclients。
- 查看最大连接数:单击实例名称,进入实例详情页面,选择“配置参数”页签,查看maxclients参数的值。(Proxy集群实例不支持maxclients参数,最大连接数请参考控制台实例创建页面中的实例规格。)
- 查看实际连接数:单击实例名称,进入实例详情页面,选择“性能监控”页签,找到“活跃的客户端数量”监控项查看。
如果客户端连接数已到达连接上限,可以根据需要调整maxclients参数,如果maxclients参数已经是最大可配连接数,仍不满足需求,则需要升级规格。
触发限流(流控)的原因和处理建议
Redis产生流控,说明redis在周期内的使用流量超过该实例规格的最大带宽。
说明
带宽使用率不高时,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。而流控检查是秒级的,有可能存在上报周期间隔期间,流量有秒级冲高,然后回落,待上报带宽使用率指标时已恢复正常。
对于主备实例:
- 如果实例一直有流控但是带宽使用率不高,这说明可能存在业务微突发问题,或者大Key热Key问题,建议对实例进行自动诊断分析,优先排除大Key热Key问题。
- 如果带宽使用率居高不下,说明带宽可能存在超限风险,需要扩容处理(容量越大,带宽越大)。
对于集群实例:
- 仅有单个或少量几个分片出现流控,则多数为该分片存在大Key热Key问题。
- 所有或大多数分片同时出现流控或者带宽使用率高的问题,这说明实例的带宽达到了瓶颈,建议扩容实例。
说明
DCS控制台提供了大Key和热Key的分析功能,你可参考缓存分析减少大key和热key。
如果用户执行了keys等消耗资源的命令,也可能会导致CPU和带宽使用率增加,从而出现流控。