#!/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 ""; then ERROR=$(echo "$RESULT" | grep -o "<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