Squid e balanceamento de carga?

2

Atualmente, estou executando um servidor squid para balancear a carga entre dois servidores usando round robin.

Mas depois de correr por alguns dias, descobri que o servidor 1 está ficando mais lento. Existe alguma maneira eu posso usar o desempenho da CPU para determinar qual servidor deve ter mais usuário usando o squid?

Obrigado

    
por DucDigital 22.04.2011 / 03:10

1 resposta

2

O Squid não é inteligente o suficiente para isso. Como a documentação do squid diz:

Squid treats all round-robin parents equally. It is not currently possible to, e.g., forward 25% of the requests to one parent and 75% to another.

IPVS e haproxy têm várias algoritmos disponíveis como round-robin ponderado, menos conexões e assim por diante. Mas eles não têm um mecanismo embutido para fazer isso pela carga da CPU nos servidores reais.

Em uma instalação do IPVS que eu gerencio, nós temos um cronjob que conecta SSH em cada servidor e pega a carga do / proc / loadavg. Com base na carga, calcula um peso adequado. Usando o comando ipvsadm, o peso para esse servidor real é então ajustado. Funciona muito bem e causa cargas quase iguais em cada servidor.

Tenha em mente que a carga não é a única coisa para se ver. O tempo médio de resposta pode ser uma representação mais precisa da experiência do usuário.

    
por 22.04.2011 / 05:38