Towards PAZ-996.
[pazpar2-moved-to-github.git] / perf / bash / par_fixed_clients.sh
index a885aae..a441589 100755 (executable)
@@ -4,29 +4,38 @@ if [ -z "$NUMBER" ] ; then
     NUMBER=20
 fi
 
-DELAY=0.001
-WAIT=1
-#NUMBER=100
-ROUNDS=2
+MAX_DELAY=1
+CLIENT_WAIT=2
+ROUNDS=10
 let r=0
-PORT=9005
+PORT=$2
+SERVICE=$3
 CLIENT_SCRIPT="client_timed.sh"
+rm -f *.time
+if [ "$TMP_DIR" == "" ] ; then  
+    export TMP_DIR=run_`date +"%Y%m%d_%H%M%S"`/
+fi  
+mkdir -p ${TMP_DIR} 
+rm -f latest
+ln -s ${TMP_DIR} latest
 while test $r -lt $ROUNDS; do
-       echo "$r"
-       i=0
-       while test $i -lt $NUMBER; do
-               ./${CLIENT_SCRIPT} $r.$i $PORT >$r.$i.log 2>&1 &
-               CLIENTS=`ps -ef |grep -c ${CLIENT_SCRIPT}` 
-               while test $CLIENTS -ge $NUMBER ; do
-                   sleep $WAIT
-                   CLIENTS=`ps -ef |grep -c ${CLIENT_SCRIPT}` 
-                   echo "Active $CLIENTS"
-               done
-               let i=$i+1
+    echo "$r"
+    i=0
+    while test $i -lt $NUMBER; do
+       ./${CLIENT_SCRIPT} $r.$i $PORT $SERVICE >$r.$i.log 2>&1 &
+       SLEEP=$[ ( $RANDOM % $MAX_DELAY ) ]
+       sleep $SLEEP
+       CLIENTS=`ps -ef |grep ${CLIENT_SCRIPT} | grep -cv grep` 
+       while test $CLIENTS -ge $NUMBER ; do
+           sleep $CLIENT_WAIT
+           CLIENTS=`ps -ef |grep ${CLIENT_SCRIPT} |grep -cv grep ` 
+           echo "Active $CLIENTS"
        done
-       let r=$r+1
+       let i=$i+1
+    done
+    let r=$r+1
 done
 wait
-cat *.time > timed.$NUMBER.log
+cat ${TMP_DIR}*.time >> ${TMP_DIR}timed.$SERVICE.$NUMBER.log
 #wget --tries=1 -O x "http://localhost:${PORT}/?command=exit"
-sleep 5
\ No newline at end of file
+