-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-rate.sh
executable file
·55 lines (45 loc) · 1.22 KB
/
test-rate.sh
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
45
46
47
48
49
50
51
52
53
54
55
#!/bin/bash
NUM=40
INTERVAL=0.05
URL="https://localhost/teste.php"
COUNTER=0
for i in "$@"; do
COUNTER=$(($COUNTER+1))
case $i in
-n)
J=$(($COUNTER+1))
NUM="${!J}"
;;
-i)
J=$(($COUNTER+1))
INTERVAL="${!J}"
;;
-u)
J=$(($COUNTER+1))
URL="${!J}"
;;
esac
done
echo "
test-rate.sh [-n $NUM] [-i $INTERVAL] [-u $URL]
-n número de requisições para fazer
-i intervalo entre as requisições
Testando $NUM requisições com intervalo de $INTERVAL segundos entre elas.
-----------------
"
COMANDO="curl -o /dev/null -s --fail $URL"
rm /tmp/test_rate_success
rm /tmp/test_rate_fail
touch /tmp/test_rate_success
touch /tmp/test_rate_fail
for counter in $(seq 1 $NUM); do
$($COMANDO &&
(echo "echo 'requisição $counter SUCEDIDA'" &&
printf %s "1" >> /tmp/test_rate_success) ||
(echo "echo 'requisição $counter FALHOU'" &&
printf %s "1" >> /tmp/test_rate_fail);
echo ": BEM SUCEDIDAS $(stat --printf="%s" /tmp/test_rate_success) :
MAL SUCEDIDAS $(stat --printf="%s" /tmp/test_rate_fail)" ;
) &
sleep $INTERVAL
done