aula-05: KEDA + Victoria Metrics para auto-scaling
- Auto-scaling baseado em pods indisponíveis e restarts - Victoria Metrics para coleta de métricas - NGINX Ingress com retry automático (5 tentativas) - Configuração ultra-agressiva: +5 pods/segundo - Script setup.sh para instalação completa - Mínimo 5 pods, máximo 30 pods
This commit is contained in:
57
aula-05/teste-stress.sh
Executable file
57
aula-05/teste-stress.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Teste de Stress para verificar resiliência do Ingress + Auto-Scaling
|
||||
# Uso: ./teste-stress.sh [URL] [NUM_REQUESTS]
|
||||
|
||||
URL="${1:-http://localhost}"
|
||||
TOTAL="${2:-100}"
|
||||
TIMEOUT=120
|
||||
|
||||
echo "============================================"
|
||||
echo " Teste de Stress - Auto-Scaling com KEDA"
|
||||
echo "============================================"
|
||||
echo "URL: $URL"
|
||||
echo "Requisições: $TOTAL"
|
||||
echo "Timeout: ${TIMEOUT}s"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
|
||||
SUCCESS=0
|
||||
FAIL=0
|
||||
|
||||
for i in $(seq 1 $TOTAL); do
|
||||
RESULT=$(curl -s -m $TIMEOUT "$URL" 2>&1)
|
||||
|
||||
if echo "$RESULT" | grep -q "Req ->"; then
|
||||
SUCCESS=$((SUCCESS + 1))
|
||||
echo -e "[$i/$TOTAL] \033[32mOK\033[0m - $RESULT"
|
||||
else
|
||||
FAIL=$((FAIL + 1))
|
||||
# Extrai apenas o título do erro se for HTML
|
||||
if echo "$RESULT" | grep -q "<title>"; then
|
||||
ERROR=$(echo "$RESULT" | grep -o "<title>[^<]*</title>" | sed 's/<[^>]*>//g')
|
||||
else
|
||||
ERROR="$RESULT"
|
||||
fi
|
||||
echo -e "[$i/$TOTAL] \033[31mFALHA\033[0m - $ERROR"
|
||||
fi
|
||||
|
||||
sleep 0.2
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Resultado Final"
|
||||
echo "============================================"
|
||||
PERCENT=$((SUCCESS * 100 / TOTAL))
|
||||
echo -e "Sucesso: \033[32m$SUCCESS\033[0m / $TOTAL ($PERCENT%)"
|
||||
echo -e "Falhas: \033[31m$FAIL\033[0m / $TOTAL"
|
||||
echo "============================================"
|
||||
|
||||
if [ $FAIL -eq 0 ]; then
|
||||
echo -e "\033[32m*** ZERO FALHAS! ***\033[0m"
|
||||
elif [ $PERCENT -ge 95 ]; then
|
||||
echo -e "\033[33mBom resultado (>= 95%)\033[0m"
|
||||
else
|
||||
echo -e "\033[31mResultado abaixo do esperado\033[0m"
|
||||
fi
|
||||
Reference in New Issue
Block a user