Document info command
[pazpar2-moved-to-github.git] / perf / bash / par_fixed_clients.sh
1 #!/bin/bash
2 NUMBER=$1
3 if [ -z "$NUMBER" ] ; then
4     NUMBER=20
5 fi
6
7 MAX_DELAY=1
8 CLIENT_WAIT=2
9 ROUNDS=10
10 let r=0
11 PORT=$2
12 SERVICE=$3
13 CLIENT_SCRIPT="client_timed.sh"
14 rm -f *.time
15 if [ "$TMP_DIR" == "" ] ; then  
16     export TMP_DIR=run_`date +"%Y%m%d_%H%M%S"`/
17 fi  
18 mkdir -p ${TMP_DIR} 
19 rm -f latest
20 ln -s ${TMP_DIR} latest
21 while test $r -lt $ROUNDS; do
22     echo "$r"
23     i=0
24     while test $i -lt $NUMBER; do
25         ./${CLIENT_SCRIPT} $r.$i $PORT $SERVICE >$r.$i.log 2>&1 &
26         SLEEP=$[ ( $RANDOM % $MAX_DELAY ) ]
27         sleep $SLEEP
28         CLIENTS=`ps -ef |grep ${CLIENT_SCRIPT} | grep -cv grep` 
29         while test $CLIENTS -ge $NUMBER ; do
30             sleep $CLIENT_WAIT
31             CLIENTS=`ps -ef |grep ${CLIENT_SCRIPT} |grep -cv grep ` 
32             echo "Active $CLIENTS"
33         done
34         let i=$i+1
35     done
36     let r=$r+1
37 done
38 wait
39 cat ${TMP_DIR}*.time >> ${TMP_DIR}timed.$SERVICE.$NUMBER.log
40 #wget --tries=1 -O x "http://localhost:${PORT}/?command=exit"
41