更新时间:2023-11-27 GMT+08:00
排查Redis实例带宽使用率高的问题
概述
Redis实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,会产生流控,流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题。本节讲述如何排查Redis实例带宽使用率高的问题。
操作步骤
- 查询带宽使用率。
查询实例在指定时段的带宽使用率。具体操作请参见查看监控数据。
通常来说,“网络瞬时输入流量”和“网络瞬时输出流量”快速上升,并持续大于实例最大带宽的80%时,需引起注意,可能流量不足。
需关注的监控指标为带宽使用率如下图。带宽使用率的计算公式:带宽使用率=(网络瞬时输入流量+网络瞬时输出流量)/(2*最大带宽限制) * 100%。
图1 带宽使用率示例
其中,带宽使用率超过100%,不一定导致限流,有没有被流控需要看流控次数指标。
带宽使用率没有超过100%,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。流控检查是秒级的,有可能存在上报周期间隔期间,流量有秒级冲高,然后回落,待上报带宽使用率指标时已恢复正常。
- 优化带宽使用率。