Estratégia para gerar um novo servidor EC2 quando um host virtual possui muitas conexões

2

Estou construindo uma infraestrutura no EC2, onde tenho o nginx como balanceador de carga na frente dos servidores apache + php. Cada servidor apache tem alguns hosts virtuais.

Estou pensando na melhor maneira de dimensionar quando um host virtual recebe muitos pedidos para lidar.

Eu acho que poderia limitar as conexões por cada host virtual, digamos 100, quando as conexões se tornam mais de 100, eu crio uma nova instância (usando ruby e o gem de neblina) e configure outro host virtual nessa instância, adicione outro backend no balanceador nginx com o IP da nova instância.

Este é o caminho a seguir ou o que você recomenda?

    
por rtacconi 26.08.2011 / 18:18

1 resposta

3

É tanto o equilíbrio quanto é quando você está expandindo o hardware físico. Provavelmente não ajudará a fixar em uma única métrica para decidir quando gerar novas instâncias.

Um limite arbitrário de 100 conexões pode ser bem menor do que a instância é realmente capaz de manipular, e você gasta demais com a capacidade computacional como resultado. Por outro lado, sua instância pode se engasgar com RAM / CPU ou E / S antes de chegar a esse ponto.

Você deve dar uma olhada no dimensionamento automático da AWS. Isso permitirá que você defina políticas que expandam e contraem automaticamente seu cluster de computação dentro dos limites rígidos especificados e com base em toda uma série de métricas do Cloud Watch. Você precisará usar a API para configurar políticas apropriadas e, em seguida, observar e ajustá-las conforme sua carga e orçamento determinarem.

    
por 26.08.2011 / 18:33