Why are requests unbalanced among ECC instances?

Causes

Requests may be unevenly distributed among ECC instances due to the following reasons:

  • The ECC instances request only a small number of connections.
  • The ECC instances deliver different performance.

    Note: The memory usage of ECC instances is not an accurate indicator for determining whether requests are evenly distributed.

  • The session persistence feature is enabled.
    If session persistence is enabled, it causes request imbalance when a small number of clients access the SLB instance. This is especially common when a small number of clients are used to test the SLB instance. For example, session persistence based on source IP addresses is enabled for a TCP listener, and a client is used to conduct stress test on the load balancing service.

  • The ECC instance fails the health check.
    Backend servers in abnormal health status can also lead to request imbalance, especially during a stress test. Imbalance occurs if a backend ECC instance fails the health check or if the health status of a backend ECC instance changes frequently.

  • TCP Keepalive is enabled.
    When TCP Keepalive is enabled only for some backend ECC instances, connections accumulate on these ECC instance. This causes requests to be unevenly distributed.

Troubleshooting methods and solutions

  • Check whether the weights of backend ECC instances are the same.
  • Check whether the ECC instances have failed health checks or if the health status is unstable in a specific period of time. Check whether the health check is correctly configured with the status code.
  • Check whether both the WLC scheduling algorithm and session persistence are enabled. If so, change the scheduling algorithm to WRR.