feat(benchmarks): add JMH benchmarks for performance testing and load scripts
Build & Test (NowChessSystems) TeamCity build failed
Build & Test (NowChessSystems) TeamCity build failed
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Default values
|
||||
TEST_TYPE="${1:-ramp-up}"
|
||||
BASE_URL="${BASE_URL:-http://localhost:8080}"
|
||||
OUTPUT_FILE="${2:-results-$(date +%s).csv}"
|
||||
|
||||
echo -e "${BLUE}NowChess Load Test Runner${NC}"
|
||||
echo "Test Type: $TEST_TYPE"
|
||||
echo "Base URL: $BASE_URL"
|
||||
echo ""
|
||||
|
||||
# Check if k6 is installed
|
||||
if ! command -v k6 &> /dev/null; then
|
||||
echo -e "${RED}Error: k6 not found. Install from https://k6.io/docs/getting-started/installation/${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$TEST_TYPE" in
|
||||
ramp-up)
|
||||
echo -e "${GREEN}Running Ramp-Up Test (10->100 VUs over 13 minutes)${NC}"
|
||||
k6 run --out=csv=$OUTPUT_FILE ramp-up.js
|
||||
;;
|
||||
stress)
|
||||
echo -e "${GREEN}Running Stress Test (up to 500 VUs)${NC}"
|
||||
k6 run --out=csv=$OUTPUT_FILE stress-test.js
|
||||
;;
|
||||
spike)
|
||||
echo -e "${GREEN}Running Spike Test (sudden 50->500 spike)${NC}"
|
||||
k6 run --out=csv=$OUTPUT_FILE spike-test.js
|
||||
;;
|
||||
constant)
|
||||
echo -e "${GREEN}Running Constant Load Test (50 VUs for 10m)${NC}"
|
||||
k6 run --out=csv=$OUTPUT_FILE constant-load.js
|
||||
;;
|
||||
all)
|
||||
echo -e "${GREEN}Running All Tests${NC}"
|
||||
for test in ramp-up stress spike constant; do
|
||||
echo ""
|
||||
echo -e "${BLUE}Starting $test test...${NC}"
|
||||
$0 $test
|
||||
sleep 5
|
||||
done
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}Usage: $0 {ramp-up|stress|spike|constant|all} [output-file]${NC}"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " $0 ramp-up"
|
||||
echo " $0 stress results.csv"
|
||||
echo " $0 all"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "${GREEN}Test complete. Results saved to $OUTPUT_FILE${NC}"
|
||||
Reference in New Issue
Block a user