Spaces:
Running
Running
File size: 1,127 Bytes
333517e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#!/bin/bash
# Load test script using curl (simple version)
# For more comprehensive testing, use k6 or wrk
DURATION=${1:-30}
CONCURRENCY=${2:-10}
URL=${3:-"http://localhost:8000"}
echo "๐ Starting load test..."
echo " Duration: ${DURATION}s"
echo " Concurrency: ${CONCURRENCY}"
echo " URL: ${URL}"
echo ""
# Simple load test using parallel curl requests
end=$((SECONDS + DURATION))
count=0
errors=0
while [ $SECONDS -lt $end ]; do
for i in $(seq 1 $CONCURRENCY); do
(
response=$(curl -sf -o /dev/null -w "%{http_code}" "$URL" 2>/dev/null)
if [ "$response" != "200" ]; then
echo "error" >> /tmp/loadtest_errors.txt
fi
) &
done
wait
count=$((count + CONCURRENCY))
done
if [ -f /tmp/loadtest_errors.txt ]; then
errors=$(wc -l < /tmp/loadtest_errors.txt)
rm /tmp/loadtest_errors.txt
fi
echo ""
echo "๐ Results:"
echo " Total requests: $count"
echo " Errors: $errors"
echo " Success rate: $(echo "scale=2; ($count - $errors) * 100 / $count" | bc)%"
echo " Requests/sec: $(echo "scale=2; $count / $DURATION" | bc)"
|