| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/bash
- # AIGCSpace JMeter 测试运行脚本
- # 用法: bash run_tests.sh [stability|stress|ramp]
- set -e
- BASE_URL="${BASE_URL:-https://aigc-api.wangxunai.com}"
- JMETER="${JMETER_HOME:-jmeter}"
- TIMESTAMP=$(date +%Y%m%d_%H%M%S)
- RESULTS_DIR="results"
- mkdir -p "$RESULTS_DIR"
- case "${1:-stability}" in
- # 稳定性测试:20并发,持续30分钟
- stability)
- echo "=== 稳定性测试:20并发 / 30分钟 ==="
- "$JMETER" -n \
- -t aigcspace_test_plan.jmx \
- -Jbase_url="$BASE_URL" \
- -Jthread_count=20 \
- -Jramp_up=30 \
- -Jduration=1800 \
- -l "$RESULTS_DIR/stability_${TIMESTAMP}.jtl" \
- -e -o "$RESULTS_DIR/stability_report_${TIMESTAMP}/"
- echo "报告: $RESULTS_DIR/stability_report_${TIMESTAMP}/index.html"
- ;;
- # 压力测试:100并发,持续10分钟
- stress)
- echo "=== 压力测试:100并发 / 10分钟 ==="
- "$JMETER" -n \
- -t aigcspace_test_plan.jmx \
- -Jbase_url="$BASE_URL" \
- -Jthread_count=100 \
- -Jramp_up=60 \
- -Jduration=600 \
- -l "$RESULTS_DIR/stress_${TIMESTAMP}.jtl" \
- -e -o "$RESULTS_DIR/stress_report_${TIMESTAMP}/"
- echo "报告: $RESULTS_DIR/stress_report_${TIMESTAMP}/index.html"
- ;;
- # 阶梯加压:10→50→100→200,每阶段3分钟
- ramp)
- echo "=== 阶梯压力测试:10→50→100→200并发 ==="
- "$JMETER" -n \
- -t stress_ramp_test.jmx \
- -Jbase_url="$BASE_URL" \
- -l "$RESULTS_DIR/ramp_${TIMESTAMP}.jtl" \
- -e -o "$RESULTS_DIR/ramp_report_${TIMESTAMP}/"
- echo "报告: $RESULTS_DIR/ramp_report_${TIMESTAMP}/index.html"
- ;;
- *)
- echo "用法: bash run_tests.sh [stability|stress|ramp]"
- echo " stability 稳定性测试(20并发,30分钟)"
- echo " stress 压力测试(100并发,10分钟)"
- echo " ramp 阶梯加压(10→200并发)"
- exit 1
- ;;
- esac
|