Teste de carga a 350.000 solicitações por minuto [fechado]

4

Eu preciso de uma maneira de reproduzir a súbita explosão de tráfego que nosso site sofreu há algum tempo, para ter uma chance de manter nossa pilha funcionando.

Nosso balanceador de carga relatou em um determinado ponto que algumas solicitações de 350k foram realizadas por minuto, destruindo tudo, do sistema operacional até o bloqueio dos back-ends. Tentei pesquisar serviços que realizam esse tipo de teste de burst, mas parece que, ao ajustar as configurações de teste para corresponder às condições desejadas, isso simplesmente custaria muito caro.

Como posso carregar o teste da minha pilha de uma maneira que corresponda a essas condições?

    
por John Smith 01.01.2016 / 23:14

1 resposta

8

Então, são 5.833 solicitações por segundo, o que é muito, mas é factível. Eu recomendaria usando uma ferramenta chamada siege . Experimente diferentes opções de simultaneidade até atingir um pico Transactions per second: taxa na saída de siege . Você também pode fazer uso do ab (ApacheBench) do Projeto Apache, mas siege é muito mais poderoso.

Em seguida, adicione mais máquinas até chegar a um total de, digamos, 6.000. Você provavelmente pode usar o Amazon EC2 de maneira econômica, ou até mesmo configurar algumas máquinas em diferentes uplinks de internet em locais diferentes com ssh de acesso a eles. Você pode usar cron ou at para iniciar siege ao mesmo tempo em todas as máquinas (verifique se os relógios estão sincronizados primeiro).

No que diz respeito a usar uma empresa externa para fazer o teste, sim, isso pode ser proibitivamente caro, e eu não acho que posso apontar para uma empresa em particular, mas trabalhei com algumas no passado. Isso é definitivamente algo que você pode fazer sozinho com algumas horas de EC2.

Editar

Como @HBruijn apontei, há uma ótima ferramenta de código aberto chamada Bees com metralhadoras que automatizarão a criação, desmontagem e coordenação da geração de carga via EC2. Isso parece a abordagem certa para sua situação.

    
por 02.01.2016 / 10:21