From 33636c06f83c6931497c7a1ef41edbfaf62179bd Mon Sep 17 00:00:00 2001 From: Mark Riddoch Date: Thu, 25 Sep 2014 16:00:18 +0100 Subject: [PATCH] MaxAdmin stress test --- client/test/maxadmin_stress.sh | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 client/test/maxadmin_stress.sh diff --git a/client/test/maxadmin_stress.sh b/client/test/maxadmin_stress.sh new file mode 100644 index 000000000..8d495dd4c --- /dev/null +++ b/client/test/maxadmin_stress.sh @@ -0,0 +1,53 @@ +#!/bin/sh +failure=0 +passed=0 + +clients=20 +cmdcnt=1000 + +echo Running $clients parallel iterations of $cmdcnt commands + +for ((cnt=0; cnt<$clients; cnt++ )); do + for ((i=0; i<$cmdcnt; i++ )); do + maxadmin -pskysql show services; + done >/dev/null & +done >& /dev/null + +peak=0 +while [ "`jobs -p`" != "" ]; do + jobs >& /dev/null + zombies=`maxadmin -pskysql list dcbs | grep -ci zombies` + if [ $zombies -gt $peak ] ; then + peak=$zombies + fi + sleep 1 +done +if [ $peak -gt 10 ]; then + echo "High peak zombie count ($peak): Failed" + failure=`expr $failure + 1` +else + passed=`expr $passed + 1` + echo "Zombie collection ($peak): Passed" +fi +zombies=`maxadmin -pskysql list dcbs | grep -ci zombies` +if [ $zombies != "0" ]; then + echo "Residual zombie DCBs: Failed" + failure=`expr $failure + 1` +else + passed=`expr $passed + 1` + echo "Residual zombie DCBs: Passed" +fi +sessions=`maxadmin -pskysql list services | awk -F\| '/ cli/ { print $3 }'` +if [ $sessions -gt 3 ]; then + echo "Session shutdown, $sessions: Failed" + failure=`expr $failure + 1` +else + passed=`expr $passed + 1` + echo "Session shutdown: Passed" +fi + +sessions=`maxadmin -pskysql list services | awk -F\| '/ cli/ { print $4 }'` + +echo "Test run complete. $passed passes, $failure failures" +echo "$sessions CLI sessions executed" +exit $failure