为什么请求不均衡?

可能原因

请求在ECC实例之间分布不均的原因如下:

• ECC实例请求连接数较少。
• 不同ECC实例的性能不同导致请求不均衡。

说明:ECC实例内存使用情况不能准确的判断请求转发是否均衡。
• 开启了会话保持功能 。
配置了会话保持,当访问负载均衡实例的客户端又很少时,容易导致不均衡,尤其在使用少量客户端对负载均衡进行测试的时候。比如TCP监听,开启了会话保持(四层是基于来源地址做会话保持),使用一台客户端对负载均衡实例进行压测,就会导致不均衡。
• ECC健康检查异常 。
后端服务器ECC的健康建状态异常会导致不均衡,尤其在压测的时候容易忽略后端服务器ECC的健康检查状态,如果有后端服务器ECC健康检查失败或者健康检查状态经常跳跃(好到坏,又从坏到好,反复变化)必然会导致不均衡。
• TCP Keepalive保持长连接 。
后端服务器ECC有些开启了TCP Keepalive保持长连接,而有些又没有开启,则连接会在保持长连接的后端服务器上堆积,造成不均衡。

排查和解决方法

• 查看后端各台ECC的权重是否相同。
• 在相关时间段内是否有健康检查失败或波动现象,查找波动的原因;或者健康检查没有配置正确的响应码。
• 是否同时使用了加权最小连接数(WLC)调度方式和会话保持,如果是,尝试改为加权轮询(WRR)算法和会话保持。