Help Center/ Distributed Cache Service/ FAQs/ Monitoring and Alarm/ Why Is Flow Control (Limit) Triggered? How Do I Handle It?
Updated on 2025-04-10 GMT+08:00

Why Is Flow Control (Limit) Triggered? How Do I Handle It?

What Is Flow Control

DCS limits bandwidth consumption for each instance node. When a node has consumed excess bandwidth than its maximum within a short period, the node temporarily does not process commands from a client to control flow.

For details about the default maximum bandwidth of an instance, see Assured/Maximum Bandwidth in DCS Instance Specifications. The adjusted bandwidth of an instance is used as its maximum bandwidth.

Checking for Flow Control

Check Flow Control Times on the console. When this metric is greater than 0, flow control has been triggered.

Even if the bandwidth usage is low, flow control may still be triggered. The real-time bandwidth usage is reported once in each reporting period. Flow controls are checked every second. The traffic may surge within seconds and then fall back between reporting periods. By the time the bandwidth usage is reported, it may have already restored to the normal level.

Flow Control Impact

During flow control, nodes pause responding to requests from their clients. The requests are not discarded but suspend for next processing. This may increase the service latency or cause client connection exceptions.

Handling Flow Control

For master/standby instances:

  • If flow control is always triggered when the bandwidth usage is low, there may be service microbursts or big or hot keys. In this case, check for big or hot keys.
  • If the bandwidth usage remains high, the bandwidth limit may be exceeded. In this case, increase the bandwidth.

For cluster instances:

  • If flow control is triggered only on one or a few shards, the shards may have big or hot keys.
  • If flow control or high bandwidth usage occurs on all or most shards at the same time, bandwidth usage of the instance has reached the limit. In this case, increase the bandwidth.