Teste de Carga
Testes de Carga
Os testes de carga são uma parte importante do desenvolvimento de software, pois ajudam a garantir que sua aplicação possa lidar com o tráfego esperado. Existem várias ferramentas disponíveis para realizar testes de carga, incluindo Apache JMeter, Gatling e Locust.
Kubernetes - HPA - Aumentar a carga
TO DO
Faça um teste de carga na sua aplicação Spring Boot. Grave um vídeo do teste de carga, mostrando: - O teste de carga em execução; - HPA (Horizontal Pod Autoscaler) em execução.
Dicas
- No link do HPA, você encontrará um exemplo de teste de carga. Ele aponta para um apache httpd, mas você pode adaptá-lo para o seu projeto Spring Boot;
- Um endereço de exemplo para o teste de carga é:
http://<dns-name>/info. Pois ogatewaypossui um endpoint/infoque retorna informações sobre a aplicação. Você pode usar esse endpoint para testar a carga da sua aplicação.
Exemplo de HPA
Abra três janelas de terminal, uma para cada aba abaixo.
Crie o HPA (Horizontal Pod Autoscaler) para o deployment gateway. O HPA escalará automaticamente o número de pods do deployment com base no uso de CPU.
Verifique o status do HPA:
kubectl get hpa
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
gateway Deployment/gateway cpu: 1%/50% 1 10 1 66s
Acompanhe o status do HPA:
Ao final do teste, exclua o HPA:
Abra outra janela de terminal e monitore os pods do deployment gateway:
Abra outra janela de terminal e execute o teste de carga contra o deployment gateway. Isso simulará uma carga alta na aplicação, fazendo o HPA escalar o número de pods do deployment.
kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://gateway/health-check; done"
No comando acima, o wget é usado para enviar requisições ao endpoint /info do deployment gateway. O laço while continuará enviando requisições até que você o interrompa (por exemplo, pressionando Ctrl+C). O intervalo entre as requisições é de 0,01 segundo, o que simula uma carga alta na aplicação. Experimente aumentar e diminuir o intervalo para ver como o HPA reage a cargas diferentes.