Problemas de desempenho do HAProxy

4

Estou tentando solucionar um problema de desempenho esporádico em nosso ambiente de produção. Temos um frontend http que aponta para um backend com 8 servidores. Nos registros HTTP HAProxy, existem centenas de solicitações bem-sucedidas (~ 0,1% das solicitações) com horários incomuns. Esses intervalos de solicitações estão em torno de 1.000, 3.000, 7.000, 15.000 e 31.000 ms. O tempo vem principalmente da coluna Tc , que é o tempo que leva para estabelecer conexão com o backend (há também algumas solicitações que levam 63000ms em Tw tempo e têm 1 tente novamente). Corrija-me se estiver errado, mas acredito que esses tempos são um padrão usado no backoff exponencial de retransmissão TCP: 2 ^ n - 1. Existe algo mais que possa explicar esses atrasos?

Temos uma configuração muito de tempo limite de conexão de 10 minutos , que eu gostaria de alterar para 5 segundos . Minha preocupação é com o que acontecerá com aqueles pedidos estranhos que têm um longo tempo de Tc. A solicitação retornará com um erro ou o HAProxy usará uma conexão diferente, talvez para um servidor diferente (o redispatch foi ativado)? Só conseguimos ver esse problema em nosso ambiente de produção e, até agora, não tivemos sucesso em criar um teste de carga em nosso ambiente de teste que pudesse replicar o problema. O ambiente de produção é configurado com a verificação de integridade http com 3 tentativas de 2 segundos de intervalo. Na verdade, temos algumas dúzias de verificações de saúde com falha por dia, mas elas são recuperadas sempre na primeira tentativa dois segundos depois, e o servidor nunca é marcado.

ATUALIZAÇÃO 24/05/2017: Diminuímos a conexão de tempo limite para 5 segundos, o que ajudou muito. No entanto, há solicitações que atingem o tempo limite e, eventualmente, foram bem-sucedidas devido a novas tentativas (~ 5000ms quando 1 tentar novamente, ~ 10000ms quando 2 tentativas, etc.). Ainda está intrigado porque isso está acontecendo em uma LAN. Uma observação interessante é que temos vários frontends: alguns rodam no linux enquanto outros estão no Windows (IIS). Os frontends com servidores IIS são os únicos com esse problema. Alguém já teve problemas com o HAProxy se comunicando com o IIS?

    
por pruslan 19.05.2017 / 04:20

0 respostas

Tags