更新时间:2024-07-29 GMT+08:00

触发限流(流控)的原因和处理建议

Redis产生流控,说明redis在周期内的使用流量超过该实例规格的最大带宽。

实例规格对应的最大带宽,可以查看实例规格,或在控制台的创建实例页面查看对应实例类型的“基准/最大带宽”。

带宽使用率不高时,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。而流控检查是秒级的,有可能存在上报周期间隔期间,流量有秒级冲高,然后回落,待上报带宽使用率指标时已恢复正常。

对于主备实例:

  • 如果实例一直有流控但是带宽使用率不高,这说明可能存在业务微突发问题,或者大Key热Key问题,建议对实例进行自动诊断分析,优先排除大Key热Key问题。
  • 如果带宽使用率居高不下,说明带宽可能存在超限风险,需要扩容处理(容量越大,带宽越大)。

对于集群实例:

  • 仅有单个或少量几个分片出现流控,则多数为该分片存在大Key热Key问题。
  • 所有或大多数分片同时出现流控或者带宽使用率高的问题,这说明实例的带宽达到了瓶颈,建议扩容实例。
  • DCS控制台提供了大Key和热Key的分析功能,你可参考缓存分析减少大key和热key。
  • 如果用户执行了keys等消耗资源的命令,也可能会导致CPU和带宽使用率增加,从而出现流控。