Problemas com o Haproxy a abrandar após o tempo

2

Recentemente, migramos do Perlbal para o HAProxy devido ao uso de memória do Perlbal. Tem sido uma migração bastante impecável, mas ultimamente nos deparamos com um problema que não consigo entender (não ajuda, não estou familiarizado com as inúmeras opções de configuração do HAproxy).

Somos um site de mídia que atende uma quantidade razoável de tráfego. Usamos o HAProxy para distribuir a carga pelos nossos servidores de mídia. Ao iniciar o HAProxy tudo é rápido e funciona de acordo - embora após 10-20 minutos as coisas começam a desacelerar e a mídia é servida muito lentamente. Tenho certeza de que é o HAProxy, já que uma simples reinicialização do serviço corrige o problema.

Estou usando uma configuração HAProxy bastante simples, sem sinos ou assobios:

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen  media 0.0.0.0:80
        balance roundrobin
        server  media_1 x.x.x.x:8080 weight 1 maxconn 1024 check
       server  media_2 x.x.x.x:8080 weight 1 maxconn 1024 check

Alguém poderia lançar alguma luz sobre qual seria o problema?

    
por WinkyWolly 08.06.2009 / 20:36

4 respostas

2

Sua configuração é muito simples. Eu vejo que você não tem "opção httpclose" e você tem um "maxconn" muito baixo, talvez você esteja simplesmente ficando sem conexões sob carga alta? Você definitivamente deve ativar essa opção. Você também deve ativar a página de estatísticas, adicionando "stats uri / haproxy-stats" na seção "listen". Em seguida, você conecta seu navegador a esse URL em seu site e verá todas as estatísticas com conexões simultâneas, conexões por segundo, erros ... Isso ajudará muito.

Ah, qual versão é essa? 1.3.16 tem um erro desagradável que faz com que ele coma muita CPU em alguns padrões de tráfego. Você deve estar usando 1.3.18 ou 1.3.15.X.

Willy

    
por 09.06.2009 / 21:58
1

Como isso acontece com o tempo, é provável que seja um esgotamento de recursos.

Você está monitorando as várias estatísticas de memória livre e o uso do processador?

    
por 08.06.2009 / 22:22
1

Eu diria que a primeira coisa a fazer é ativar a página de estatísticas do HAProxy e, talvez, fazer o log também.

    
por 15.06.2009 / 18:46
1

Também é possível que seus servidores da Web de back-end estejam recusando muitas conexões de um único IP. Com HAProxy (sem tproxy), as solicitações são vistas vindas do nó de balanceamento de carga. Isso poderia criar tais problemas.

    
por 15.06.2009 / 19:03