Tempo-limite do HAProxy após 120 segundos
Fiz um balancer de carga usando HAProxy. Minhas conexões podem levar até 1-4 minutos, então eu aumentei os valores de tempo-limite padrão em HAProxy para 300s do seguinte modo:
global
daemon
log 127.0.0.1 local0 notice
maxconn 2000
defaults
log global
mode tcp
option tcplog
option dontlognull
retries 3
option redispatch
timeout connect 300s
timeout client 300s
timeout server 300s
option http-keep-alive
frontend LOAD_BALANCER_TIER
bind *:80
default_backend WEB_SERVER_TIER
backend WEB_SERVER_TIER
balance leastconn
mode tcp
server segmentingApi01 some_private_ip:7331 check tcp-ut 300000
server segmentingApi02 some_private_ip:7331 check tcp-ut 300000
server segmentingApi03 some_private_ip:7331 check tcp-ut 300000
como podem ver, até aumentei a ligação TCP nas opções server
. No entanto, o meu pedido para o tempo-limite do balancer de carga após exatamente 120s. por favor, note que eu acredito que a questão é do balancer de carga como quando eu enviar um pedido para os servidores diretamente (some_private_ip:7331
) ele não é tempo-limite.
0
1 answers
Primeiro, eu não acho que "redispatch" e "http-keep-alive" funcionam no modo tcp - como o haproxy não lida com a informação da aplicação (http) no modo tcp.
Talvez devesses tentar a "opção tcpka". Isto faz TCP manter vivo, de modo que o SO não vai cancelar a conexão quando nenhum dado é trocado - o que eu acho que está acontecendo aqui.Você não deve definir o tempo-limite da ligação para um valor tão elevado, porque este tempo-limite é para fazer a ligação inicial ao servidor.
1
Author: emmwie, 2018-07-31 18:53:49