• Michal Kubecek's avatar
    ipvs: count pre-established TCP states as active · be2cef49
    Michal Kubecek authored
    Some users observed that "least connection" distribution algorithm doesn't
    handle well bursts of TCP connections from reconnecting clients after
    a node or network failure.
    
    This is because the algorithm counts active connection as worth 256
    inactive ones where for TCP, "active" only means TCP connections in
    ESTABLISHED state. In case of a connection burst, new connections are
    handled before previous ones have finished the three way handshaking so
    that all are still counted as "inactive", i.e. cheap ones. The become
    "active" quickly but at that time, all of them are already assigned to one
    real server (or few), resulting in highly unbalanced distribution.
    
    Address this by counting the "pre-established" states as "active".
    Signed-off-by: default avatarMichal Kubecek <mkubecek@suse.cz>
    Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
    Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
    be2cef49
ip_vs_proto_tcp.c 19.9 KB