Explicação dos valores da fila backend da página de estatísticas HAProxy

1

Como mostrado na imagem abaixo, eu tenho um back-end do HAProxy com dois servidores com as seguintes configurações:

maxconn 64 check inter 5s fastinter 2s downinter 2s

Minha pergunta diz respeito à coluna Queue . Como posso especificar o limite da fila de back-end? E por que o Backend na parte inferior mostra o valor de 11 quando api-1 e api-2 show 22 e 18 respectivamente? O que o número 11 representa no meu caso?

    
por cherouvim 24.03.2017 / 13:03

1 resposta

3

Pergunta 1 /
Como mencionado por Willy neste tópico: link , você não pode especificar maxqueue para um backend, mas você pode fazê-lo para servidores de back-end.

Primeiro, vamos deixar claro sobre as filas: Há uma fila por back-end e uma fila por servidor. Conexões com persistência de servidor vão para a fila do servidor (em questão) e outras conexões vão para a fila de backend.

Quando um servidor maxqueue é alcançado, o link do documento HAProxy diz que

If this limit is reached, next requests will be redispatched to other servers instead of indefinitely waiting to be served. This will break persistence but may allow people to quickly re-log in when the server they try to connect to is dying.

Assim, os próximos pedidos não serão perdidos neste caso.

Seria diferente se um suposto maxqueue de back-end fosse atingido e os clientes pudessem receber erros em retorno. Assim, para evitar isso, não há implementação de maxqueue de back-end, mas você ainda pode obter o mesmo comportamento usando uma regra no back-end da seguinte forma:

backend foo
      tcp-request content reject if { queue ge 100 }

Pergunta 2 /
A coluna Max Queue diz o tamanho máximo da fila alcançado desde o último recarregamento HAProxy.
Então, 11 é o tamanho máximo da fila alcançado pelo seu back-end. Isso é diferente do tamanho da fila máxima de seus servidores porque, como dito anteriormente, a fila de back-end e as filas de servidores são separadas.

    
por 27.06.2017 / 16:23

Tags