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)"